Right, this is what it fixes. We cant put this in is_package_shippable. Available calls compute which calls compute_package. Compute package expects a shipping address. This is why we have to put it where it is in available. This will fix the problem and we can work on refactoring the models later.