splitted functions into different modules, so as to fake namespaces