constructor interface change