cleanup / refactoring