continued refactoring get user data.