change interface to run fewer useless updates