directives removed, lots of functionality added