try to reduce redundency in fast