add support for Buffer