refactor to create current_user