preform->perform