refactoring protected constructor to at least pass in the LogicErrors