added parser and tests