various and many refactorings