moved puzzle reading to its own func, added a few test puzzles