adding more fixes for exceptional cases