Added abstract program class!