添加 application
将基础协议的实现移动到 lib/