add a final return if necessary