refactoring, documenting... instance should be pretty much done now