changes .contains() to fail on empty strings