1st copy

assignment not 100%

many things to clean up, but ok to at least get partial credit