added implicit DataFormat[DataInput]