add support for binary, framed, and compact