added byId and str