add set_cost api