q3: changed to use Str instead of string