add is_free param