improved destructuring