restructure to PullPanel clas