add design documentation