refactor, add ability for alternate processing phases
rename dependency, start adding compilation