improve user profile controller and view