float added, still needs cleaning