beginning full implementation of Parser