Continue general refactor