adding replicated functionality