improved cipher.jl args handling