update software design with latest changes