add basic floating-point support