add functions in parser