added floating point support (task #2)