refactoring, unstable state