first draft of parsers [doesn't compile