UserProvider simplified; clean up