User model + populate logic