done?

untested
Almost done

<ENTER> $ for negative numbers doesn't work