Practicum 2 for CS345