String.replace no longer takes 3 arguments (+ some code cleanup)