final, add new_or_over check