Did some more work on it, run into a bug
Fixed previous bug, currently having problem with gc