added support for negative numbers and decimals.