replace multiplications with shifts and add/sub
chunk cruncher should be the main unit