fix memory leak, tiny speedup, add some asserts