merged with binaryjs upstream