further cleanup, property refactoring, and delete repository API hardening