refactor rest