cleaned up float parsing