prevent underflow
cleanup 9