try functional parser