add/update monad code