My daughter was working with Aleks this year, she was covering algebra readiness and pre-algebra. In school, her excellent teacher was covering pre-algebra and algebra, but my daughter decided to take it slow and do ALL the problems in the algebra readiness set, even though she could have tested out of it months ago. Now she's finishing the pre-algebra set online, and in classroom will move on to algebra next year (7th grade). Aleks has a method of testing your readiness level for each level problem set, and then progressively serving you 'skills' to master as you go. Each skill has a step-by-step explanation page in case you are stuck. The excellent teacher in school and Aleks allowed her to make up for two year of a horrible math teacher, and to go from 'I hate math' to 'I love math, it is so easy'. This is likely a level or two below where your son is, but Aleks goes all the way up to calculus. I'd try that for your son, because it's really modular. Each 'skill' stands on its own, and takes 3-5 problems to 'master'. If you know what you're doing, each problem takes under a minute. If you don't know what you're doing, it's still a circumscribed topic that lends well to short attention spans. It costs money, but not too much. For us, the school paid for it, and I'm considering paying to continue access when she switches to a new school next year. The downside for you may be that Aleks is very much aligned to the school curriculum, so you're not likely to get new types of problem. The benefit would be in being able to work ahead.