change to use gc_pointer and change verbose output messages