consistent constructors