simplify update logic, adjust comments
redesign update logic for fine-grained control