grand restructuring ... i want to be able to instantiate all the things, man