modified variate method to allow user to specify technique