Added user_progress logic