fix cap function