added SSA, many changes in preperation for JIT