User profile logic