list of lists approach
no state
no more object
moving to map
moving to full map
full map plus using matcher
formatting error message and cleaning up line length