final text, program added