rewrote singleToNum()