Update: added design document