Holy crap it may be done except for clean up and docs