a first version of the parser (untested yet)