add support for abstract class BIF