start refactoring
.