initial commit with the program as it stands so far