begin refactoring process