make vessel_module
put vessel check inside deriv