一些共有类和demo