add missing abstract method