fix free problem