added parameterized synchronizer