functions now accept lists of parameters, not just one parameter