added manual garbage collector