constructor takes now n arguments