Refactor general