added occurs_on? and exists? to mask use of ice_cube from user