backported parameterized setup