refactoring, implemenation of user add and provision