lots of refactor.  ready to try adding cspec_init (it breaks/segfaults)