complex string support