prototype for 'parser'