fuck
reference counting gc
add gc unittest