refactor wexin constructure