added string-set! and fixed invalid argument bug in string functions