final variant