utils: add replace()