fix free bugs