Done refactoring and this should close out #34