implement whirls, currents, more to go