add abstract method for DoHandler