updates to add more problems and tests and a cleaner interface