[replication] fleshing out the api