massive changes to implementation of crypto