ensure fail is done sequentially