updated class to have fail overs