add interface
implementation for reactive repo collab client