more work on parse list implementation