Update behavior + Refactoring