more parser refactoring and adding parsing for id paths