added parameter passing