Refactoring

This update potentially breaks any external references to this project!