improve to handle special characters.