added collection, recursive and string functions;