userLogic