getting closer to a working parser