Move a lot of things into directives