Hard floor and carpet cleaners