some additions and changes