add adapter and facade

Signed-off-by: Wei Jin <wjin.cn@gmail.com>