add dynamic runtime switch