added rc4 implementation