component replication refectoring