Added more behind the scenes functionality and most of the program layout