implement replicator