Implements the race with some interaction