refactored update method call a bit: