move result in implementations