update with match and a few other things