various additions and edits