pattern techniques