trying to finalize code restructuring, but now must do actual work work