constructor signature