correct way of getting a user profile so it creates one if it doesnt exist