moving to update-based approach