#puzzle techniques