added String(), ParseContext(), and tests