Add update method, refactoring