added some DSL kinda work to make calling success, fail and runnning easier and less confusing