make skip slightly more general