clean up, and bug fixes