FM updating works for insertion, deletion, and substitution wooo