arc refactor