improved program.c