implemented weixin interface