just some general code WIP scaffolding, not compilable quite yet