My local BMW dealer has a spray top cleaner that worked wonders on my beige top. Get the impregnator at the same time to re-waterproof the top. The impregnator (available at BMW dealer) is expensive, $28 for one bottle (one treatment) but works great!