structural modifications
major refactoring