final code v2