just use DataOutputStream