updated abstract method.