added software design document