a bunch of problems and solutions done for practice