starting to further split HoleEdit to modules