safe to call free twice