implemented smart updates