broken - major restructure
not broken, but seg-faults at large