additions and fixes