added trailingNewline keword argument to board.toString()