logic in update manager
refactor