currently broken - adding this commit because I know how to simplify some complexity that will keep the program from breaking in the future