added c++ 11 move operators