added split() and replace()