Added puzzle parser, exception class