Updated to use namespaces
Started to restructure