further work on parsing