works now if src and dst are different sizes