this version is for competition by final version