added soft assert feature