all done (but bonus 3 is slooooow)