refactored the namepsacing stuff.