实现全部的方法