private constructors will cancel build