various additions and changes