WIP: adding interface and protocol for external refs