add missing components to parser
add comments and make declaration cleaner