Design.

Signed-off-by: cyberzhg <cyberzhg@gmail.com>