reorganize for rc4