inconsistent constructor logic.