refactor: user auth module