move generator to vendor