add crypto library
make headers optional