Third programming assignment