loose cap version constraint