Refactored all user code, moved to the users package.