code refactoring:
migrated all directives to use new ElementDirective class.
added directives into a new Namespace class.