cleaned up BNFIndexPath interface