reworked the user