Added support for decimals. Proof-read