added optimized CompactBinary