fix float bug, all tests pass
another float fix