add empty method, fix some bugs