more basic stuff for parser