solution to ~30 problems