implement first working crypto