incorporating boost serialization