when middleware changes, reload the whole thing