refactor predefined variants