An attempt to write a parser