the best possible fix for Stage -II, but not the complete solution
StageII: second attempt