use float32 to conserve space and memory
allow the exclusion of some orders when creating the template, otehr optimizations when making the template
update to handle float32
refactoring