Basic program is complete. Need to tidy up the code and add more functionality.