new directive parser wip
functional tests pass
unit tests pass