updated string construction