Substantial amount of clean up and better documentation.