adding Puzzle mechanics (still a long way to go ;)