movoed everything into lib much clear for namespaces