close to finish the support for floats

basically works now, but need more testing