refactor puzzle_09