Program working

generation needed ~150