use abc for abstract class
remove unused variable