- started major refactoring