add callback for data load