pattern hacking 101