Use Buffer.BlockCopy() instead of Array.Copy() for a slight performance improvement