added an option to specify copy or move operations. this is mandatory