Add move constructors optimizations