added require_login