incorporated most of the recent comments