why both ` and sh in the same method?