Started basic back porting.
Added new structure over. Decent perf observed still not the best though.
Working fine but computing density seems to slow us down.
Polishing up changes.
Merge branch 'chris_sandbox' into chris_sandbox2