Added more documentation

Some functions in Puzzle.cs were still too vaguely described