add some abstract method on client class