clean up plus more documentation.