working towards a parser