make update middleware more self explanatory
tighten up