Destructuring impl