semi-final version