added the rest of the program