program2 working, all tests passing