Turned into a module and singletons