revise the way DOS is handled