added after_commit callback