better naming
broke out crypto into separate lib