Use stack for free list. *much* faster.
Use queue for free_list.