made UserProvider configurable