start to refactor types out
refactor out to module
simplify the types
factor out the mem stuff to zmemory
start improving structure
move to inner place
further moving
patch up everything to work with cabal
add dependencies for test
add stub test files
mark down some todos