Refactor General