added update() func for more sensitive updating