don't check buffer.WriteBytes error, it always returns nil