[Added]  const and reference correctness
[Added] attenpt at serialization backwards compatibility