semi final version