add default free method add fix a bug when free
add default free method add fix a bug when free