refactor cipherio out