always callback on set