code cleanup and documentation
tagging new version