more cleanup
simplify storage types
move storage into template base class