added callbacks to ranges