separated User and UserSchedule