added garbage collector implementation draft