[repository] add callback