added some more functionality to the program