destruct: remove last failwith, make code more robust