Fix propogation of destroy, handle errors better, more checks on client side