refactoring: update_attrubutes will return instance