lots more work on how2solve