Major refactoring. Introduced Namespaces