initial program 3 files, copied from given code