Further work on parser