implement rounds logic