Refactor. Moving to interface style compilation.