first draft for parser structure