Reorganise to use Cargo