refactor generale