better csv serialization