refactored current_user