prep_work and solutions