some additions and changes added.