parameterized base module. you can fill in hash of users. if hash is empty it uses the yaml