added playfair support