StringEntity factored-out, hierarchy flattened