Add parser to support arbitrary input