added callbacks --KW