users refactor and test passing