little modified for design document.