servant refactor