added all the users logic and tests