fix match add atomic transaction stuff