test abstract method