finish submit handler