implement replace all