refactored to remove constant class updates