broke some functions out into a module file to facilitate reuse. Completed problem 23