added some cleanup and comments