finished first pass
fixes
it compiles