Synchronized with FreeELKS svn#711, except for the string and file classes.