rename BinaryWriter to BinaryBuffer since it can read too