This is a skeleton of the program