This version will hold GUI separate from the logic class