day 1
parsers and functors
tidying up parser