We've used IXL. My kids found it fun at first, but it is very repetitious and we quit altogether after a year or so. It doesn't let you advance quickly enough in my kids' opinion, so they end up doing many problems of the same kind before they earn a prize. The concept is good, though - if you master a topic, you get a "prize," so it does create some incentive.