change constructor signature