change constructor inference