change more of calling pattern to allow on the fly column generation
get some internal timings
more detailed timings
play with linalg a bit
try thinner multiply structures