add conditional field, parser refactor