add support for abstract references