intermediate version
more crypto