Support more control over what construtors to use