bug fixes, and code cleanup.