updated final callback