add float support