add float type support