optimise string checking function