Add parser and improvements