solutions to various puzzles