Skip to content

Free GTO Solver — Solve Poker Spots in Your Browser

A GTO solver takes both players' ranges, a board and the stack sizes, and calculates how often each of the 169 starting hands should bet, check or fold. The HoldemMaster solver runs that calculation in your browser — nothing to download, no account, no paid tier — and shows equity, EV and equity realization for every hand alongside the strategy grid. It covers postflop play heads-up.

Open the solver →

Desktop Chrome recommended — iOS and Safari solve single-threaded, so custom solves are slower

Details
PriceFree — every feature, no usage limits
InstallNone — runs in the browser (WebAssembly)
AccountNot required (sign-in syncs history for Study Spots and Daily Challenge · your own solved spots and their practice history stay on this device)
ScopePostflop, heads-up (flop, turn, river)
Where it solvesOn your own CPU, not on a server
PlatformsAny modern browser — Windows, macOS, Linux, mobile
EngineOpen-source WASM Postflop (AGPL-3.0) · modified source published

What is a GTO solver?

A GTO solver computes game theory optimal strategy from scratch. Feed it ranges, a board, stacks and a bet-sizing tree, and it iterates toward a Nash equilibrium, returning bet, check and fold frequencies for all 169 hands. That is the difference between a solver and a chart: a chart stores an answer somebody worked out earlier, while a solver computes the answer for the exact spot you are in.

It is not a chart, and it is not a trainer with someone's opinions baked in. Give it a different flop and it gives you a different answer, because it recomputes rather than recalls.

The same tool goes by several names. Poker solver, GTO poker solver and postflop solver all mean this kind of program, and people also call the output a GTO chart or a range chart. Only the search term differs — what this page's solver computes is the same thing.

What you want to doTool to use
Solve a postflop spot and see betting frequenciesThe GTO solver on this page
See which hands to open from each positionStarting hand chart
Work out outs, pot odds, SPR or ICMPoker odds calculator
Train your equity estimatesWin rate quiz

What does GTO mean in poker?

GTO stands for Game Theory Optimal: a strategy that cannot be exploited in the long run, no matter how the other player adjusts. It is a baseline rather than a maximum — it does not try to punish a bad opponent, it makes sure a good one cannot punish you.

The property that surprises most players is that GTO mixes actions with the same hand — betting it 70% of the time and checking 30% — so your line cannot be read. Output is therefore a frequency table, not a single instruction. A solver tells you how often to do something, not what to do, and that is why a study session ends with percentages rather than rules.

How do you use a poker solver? Five steps

If this is your first solver, open a study spot before you configure anything. Those spots are already solved, so you learn to read the output before you learn to drive the inputs. When you do build your own spot, the tabs run in order down the left sidebar.

  1. ①

    OOP Range

    Paint the out-of-position player's preflop range on the 13×13 grid, or type it: 22+, A2s+, KTo+. On the grid, the diagonal is pocket pairs, upper right is suited, lower left is offsuit.

  2. ②

    IP Range

    Do the same for the player in position. The fastest start is to load a study spot and edit its ranges rather than building both from scratch.

  3. ③

    Board

    Click three flop cards or hit Random Flop. You can also fix the turn and river if you want to study one specific runout.

  4. ④

    Bet Sizes

    Set the starting pot, effective stack and the bet and raise sizes per street. Leave the defaults on your first solve and just check the pot and stack.

  5. ⑤

    Run Solver

    Build the tree, then run it. Solving takes seconds to minutes on your own machine; when it finishes, open the Results tab.

Custom-spot inputs are in arbitrary integer chips. To think in big blinds, use 10 chips = 1bb (a pot of 55 is 5.5bb). Study spots and the trainer convert on that scale automatically.

Building both ranges from scratch is the slow way in. The opening ranges by position live in the starting hand chart. The two ranges below are a different thing: the ones the Single Raised Pot study spots use (BTN vs BB), ready to paste into ① and ②.

Paste intoRange
OOP — BB callerTT-22,AJs-A2s,KJs-K2s,QJs-Q2s,J4s+,T6s+,96s+,85s+,75s+,64s+,54s,AJo-A2o,K9o+,Q9o+,J9o+,T8o+,98o
IP — BTN opener22+,A2s+,K5s+,Q6s+,J7s+,T7s+,97s+,86s+,75s+,64s+,54s,A2o+,K9o+,Q9o+,J9o+,T8o+,98o

How do you read the results screen?

The results screen has five working areas: the scene picker along the top, the 13×13 strategy matrix on the left, and on the right the frequency tiles, hand categories and detail table. Read the left side for what an individual hand does, and the right side for what the range does as a whole.

WhereWhat it holdsHow to read it
Top stripScene picker for the action line (flop → bet → call → turn)Click a node to jump to the strategy at that point
13×13 matrix (left)One cell per hand; the color split inside shows action frequenciesRed is bet or raise (darker = bigger), green is check or call, a dimmed cell is not in the range
Tiles (top right)Action frequencies and combo counts across the whole rangeThis is where you read "the range checks 98% here"
Hand categories (middle right)How the range connects with the board — top pair, draws, no made handA quick read on which player this board favors
Table (bottom right)Per-hand weight, equity, EV and EQR plus action %Click a column header to sort; the summary exports to CSV

A worked example: open the first study spot (A♥7♦2♣ rainbow, BB acting first) and the tiles read Check 98.2% across 455.5 combos, with Bet 1.8bb at 1.0% and Bet 4.1bb at 0.9%. The summary row of the detail table shows the whole range at 464.0 combos, 45.1% equity, 2.09bb EV and 84.0% EQR. Equity realization below 100% is the number worth sitting with: this range holds 45.1% equity but, playing out of position without the initiative, only banks 84% of what that equity is worth.

If those terms are new, the equity guide and the continuation bet guide cover what the solver is measuring before you try to read its numbers.

Is it really a free poker solver?

Yes, and without the usual asterisks: no payment method, no locked features, no daily solve limit and no account. The settings you would expect from an installed desktop solver — rake and rake cap, precision modes, editing the game tree node by node — are all here. The main limit is that this solver is postflop and heads-up.

FeatureIncludedNotes
Solve flop, turn and riverYesFull postflop tree
Solve preflopNoOpening ranges live in the hand chart
Custom bet and raise sizesYes% of pot, multiples, all-in, geometric
Separate donk (lead) sizingYesDesign the OOP-leads line on its own
Rake and rake capYesMatch the conditions of your actual game
Edit the game tree by nodeYesAdd or remove actions at a specific node
Node locking with re-solveYesSet the action frequencies at one node and solve again
Precision and memory modesYes32-bit float or 16-bit integer · ~4GB browser limit
Set target exploitabilityYesLower is more accurate and slower
Save ranges and configurationsYesSave, load, import and export
Export the summary to CSVYesStraight into a spreadsheet
Share a spot by linkYesSend your exact spot to a study group
Open pre-solved study spotsYesNo waiting — solutions appear instantly
Flop study — precomputed flop strategiesYesPick a spot, seats and flop and the grid appears with no wait · flop only · fixed bet sizes (flop 33% / 75%, raise 60%)
Flop reports — average strategy by board groupYes1,755 flops, frequency-weighted · first decision and after a check · group by high card, suits, pairing, connectedness · fixed bet sizes
GTO Trainer with EV-loss gradingYesPlus weak-spot filters and a review queue
RNG practice in the GTO TrainerYesA 1–100 number on each hand · the action in that number's range is Best play · High/Low · off by default · not used in the Daily Puzzle or My spots
Practice your own solved spotsYesOne click on the results screen saves it as trainer questions · this device only

Why postflop only — and what does that cover?

This is a postflop solver: it starts once the flop is down and solves the rest of the hand for two players. Preflop is deliberately left out, because preflop ranges are a different kind of problem — they are stable enough to read off a chart, while postflop changes with every board.

Inside that boundary nothing is held back. You set both postflop ranges, any flop, turn and river, the starting pot and effective stack, and a full bet-sizing tree per street. So the postflop strategy you get is for your game, not a generic one — including rake, which most study material quietly ignores.

If you want the preflop half, that lives in the starting hand chart. The chart gives opening ranges by position and the solver analyzes play after the flop — facing a raise before the flop (calling or 3-betting) needs ranges of its own, which the opening chart does not cover.

Is there a free GTO poker trainer? How does it grade you?

Yes — the GTO Trainer is built into the same free software, with no separate signup. It turns the solved spots into practice: you are dealt a hand at a real decision point and pick an action, and it grades you.

Grading is not right or wrong, but by EV loss relative to the pot. Because GTO mixes actions, picking the lower-frequency option is not automatically a mistake — what matters is how much expected value the choice gave up. Pick an action and the trainer shows every action's frequency and EV alongside the cost of yours.

  • Thresholds are measured against the pot — up to 0.35% is a best play · up to 1% is acceptable · beyond that is a spot to review
  • The same 0.08bb is 1.45% in a 5.5bb pot (a spot to review) and 0.36% in a 22.5bb one (acceptable). In a 5.5bb single raised pot the cutoffs land at 0.02bb and 0.055bb; in a 22.5bb 3-bet pot, about 0.079bb and 0.225bb — so 0.08bb sits just past the best-play line. Floors of 0.02bb and 0.05bb keep grading above solver noise
  • Questions are drawn from several decision points inside each spot, so the combinations run past ten thousand (target exploitability 0.5%), and you can drill single raised pots, 3-bet pots or blind vs blind on their own
  • Hands are dealt in proportion to the real GTO range weights — a hand comes up as often as you would actually hold it there
  • Streaks, weak-spot breakdowns and a Review queue of spots where you lost EV run on your practice history. Signing in syncs your history for Study Spots and Daily Challenge across devices; the Daily Challenge day streak and completed mark stay on each device. Your own solved spots and their practice history stay on this device even when signed in

13 solved study spots you can open instantly

Every spot below is already solved, so the strategy appears the moment you open it — no waiting, no configuration. Ranges approximate standard 100bb online play; load one, change a range, and re-solve to see what moved. This is the fastest way to build intuition for how board texture rewrites strategy.

Single Raised Pot — BTN vs BB

OOP: BB (caller) · IP: BTN (opener) · Pot 5.5bb · Stack 97.5bb

  • A♥7♦2♣·Dry Ace-High Board — The textbook range-advantage flop — the ace smashes the opener's range
  • K♠8♦3♣·Dry King-High Board — Still favors the opener, but checks creep up. Compare it with the ace
  • Q♠J♦T♠·Connected Broadway, Two-Tone — It looks like it hits both ranges, but the BB realizes the least equity of any spot in the series — 77.9% against BTN's 119.4% — and checks 99.9%
  • 9♥8♥7♣·Middle Connected, Two-Tone — The single-raised board where BB leads most: it bets first 23.7% of the time (on monotone Q♠9♠2♠ it is 11.2%), yet the range advantage still belongs to BTN — 48.5% equity against 51.5%
  • Q♠9♠2♠·Monotone Board — Big bets give way to small bets and checks — even made flushes check often
  • 6♣6♦3♥·Paired Board — Nobody connects, so the bluffing share goes up
  • 6♠5♥2♦·Low Rainbow Board — An overcard war — the spot for designing the check-raise: on screen the BB's first action is 96.8% check, 3.2% bet

3-Bet Pot — BB 3-bets, BTN calls

OOP: BB (3-bettor) · IP: BTN (caller) · Pot 22.5bb · Stack 89bb · SPR ≈ 4.0

  • A♦K♠2♥·Ace-High Board, 3-Bettor's Edge — The best flop the 3-bet range can see — loaded with AK, AA and KK. What lets a small bet squeeze the whole range is the shape of that range, not the low SPR
  • Q♥T♥7♠·Dynamic Two-Tone Board — Two live draws — 98.4% of the range fires the same two-thirds size
  • 8♦5♣2♠·Low Dry Board — The 3-bet range flops no top pair at all here — beyond overpairs and A5s's pair of fives, the rest is almost all gutshots and backdoors — yet overpairs keep the pressure on

Blind vs Blind — SB vs BB

OOP: SB (opener) · IP: BB (caller) · Pot 6bb · Stack 97bb

  • K♥T♦6♠·King-Ten-High Board — Wide ranges, so both players are weak — compare with the BTN version
  • 7♦6♦5♣·Low Connected, Two-Tone — Two wide ranges on an ultra-connected board: two pairs and draws everywhere
  • A♠A♥6♦·Ace-Paired Board — Trips are not rare here — SB simply holds more of them (88 combos against BB's 66), which is why SB fires 80.1%

How is this different from GTO Wizard or PioSOLVER?

All three are called solvers, but they differ in where and when the calculation happens. Solution libraries such as GTO Wizard are mainly for browsing spots solved in advance, which is fast and can include preflop (GTO Wizard also offers custom solving). Desktop solvers such as PioSOLVER are installed on a Windows machine and solve locally. This one solves on demand inside your browser, so ranges and trees are yours to rewrite with nothing to install.

HoldemMaster solverSolution libraryInstalled desktop solver
How it computesSolves in your browser, on demandMainly browse solutions computed in advanceSolves locally after you install it
InstallNoneNoneInstaller, Windows
CoveragePostflop, heads-upOften includes preflopMainly postflop (some versions add preflop)
Editing ranges and treesAnything you likeMainly within the published solutions; some services add custom solvingAnything you like
Where the solve runsYour own machineThe provider's computersYour own machine

One more distinction worth knowing if you arrived searching for WASM Postflop: the original open-source project announces on its own site that it will no longer be updated, and its repository is marked as development suspended. This solver is a maintained fork of that engine — same AGPL-3.0 license, same published source, with the interface, study spots and trainer added on top.

Tools to use alongside the solver

  • Starting hand chart — this solver is postflop only. Which hands to open from each position lives in the chart. The paste-ready ranges above are a different thing — the BTN-vs-BB ranges the Single Raised Pot study spots use
  • Poker odds calculator — outs, pot odds, SPR, M value and ICM when you want a number without running a solve
  • Win rate quiz — solver output is mostly equity, so sharpening your equity estimates first makes the results screen much easier to read
  • Texas Hold'em strategy guide — the concepts the solver quantifies: position, ranges, aggression and pot control

From people who used it

ⓘ We don't delete negative reviews. We only hide posts for links, abuse or ads.

See the rules
  • Links — posts containing an external address
  • Abuse — insults or slurs aimed at a person (harsh criticism of the product is fine)
  • Ads — promoting another service or product

How was the solver for you?

  • Mathias AdelmeyerG· Joined October 2026· · Desktop· ★★★★★

    ✓ Has used the solver

    제안을 남길 곳이 어디인지 몰라서 여기에 올립니다. 플랍 트레이너를 정말 좋아합니다. 평균 EV 손실을 볼 수 있는 것도 좋습니다. 믹싱을 평가하는 옵션이 추가되길 바랍니다. 레이징과 콜링이 모두 유효한 옵션인 경우가 많은데, 익스플로잇당하지 않으려면 한쪽을 훨씬 더 자주 선택해야 합니다. 0에서 100까지의 무작위 숫자 생성기를 추가하는 것을 제안합니다. 그러면 그 숫자 기반으로 결정을 내려야 합니다. 100은 출력의 최상위 퍼센트(예: 높은 레이징)이고, 0은 최하위 퍼센트(예: 콜링 또는 폴딩)입니다. 그 퍼센트 숫자를 주면 그에 해당하는 행동을 취하면 됩니다. 대안으로, 주어진 핸드에 대한 범위를 나타내는 숫자를 내가 입력하는 방식도 가능합니다. 예를 들어 정답이 74라면, 74%의 확률로 콜을 선택하고 26%의 확률로 다른 행동을 선택한다는 의미입니다. 그러면 내가 얼마나 정확하게 믹싱하는지 피드백을 줄 수 있을 겁니다. 훌륭한 선택 옵션이라고 생각합니다.

    — 또한 플랍 트레이너를 보면 히어로만 표시되고 빌런은 표시되지 않습니다. "BB 3베트 (OOP) 액션" 같은 식으로요. 빌런이 누구인지 알아야 그들의 범위를 추정할 수 있고, 그러면 에쿼티 우위를 파악할 수 있으며, 이는 베팅 빈도와 사이즈에 영향을 미치기 때문에 빌런 정보가 필요합니다.

Frequently asked questions

Q. What is a GTO solver?

A. A GTO solver is a program that calculates game theory optimal poker strategy from scratch. You give it both players' ranges, a board, stack sizes and bet sizes, and it iterates toward a Nash equilibrium, then tells you how often each of the 169 starting hands should bet, check or fold. It is not a chart that stores someone's opinion — it computes the answer for your exact spot.

Q. What does GTO mean in poker?

A. GTO stands for Game Theory Optimal: a strategy that cannot be exploited in the long run no matter how your opponent adjusts. Its defining property is mixing — the same hand may bet 70% of the time and check 30% of the time, so your pattern cannot be read. That is why solver output is a frequency table rather than a single instruction.

Q. Is this GTO solver really free?

A. Yes. Every feature is free with no usage limits, no payment method, no locked tier and no account required. Signing in is optional and syncs your history for Study Spots and Daily Challenge across devices. Your own solved spots and their practice history stay on this device, even when signed in. The solver is built on the open-source engine WASM Postflop (AGPL-3.0), and HoldemMaster's modified source code is published under the same license.

Q. Do I need to download or install anything?

A. No. It is a WebAssembly application, so it runs the moment you open the page in Chrome, Edge, Firefox or Safari. The solve runs on your own CPU rather than on a server, so a faster machine means faster solves. There is no installer, no license key and no desktop client to keep updated.

Q. How accurate is a browser-based solver?

A. You set the target exploitability, and the solver iterates toward it. Lower targets require more solve time; check the final exploitability because calculation can also stop at the iteration limit. The result applies to the ranges and decision tree you supplied. Memory and speed limit the size of the tree — the WebAssembly engine can address about 4GB, so very large trees are better suited to a desktop solver.

Q. How do I use a poker solver for the first time?

A. Start with Study Spots rather than a custom solve. Those spots are already solved, so you can learn to read the output before learning to configure it. When you are ready, the Custom Spot tabs run in order: ① OOP Range, ② IP Range, ③ Board, ④ Bet Sizes, ⑤ Run Solver. Leave the bet sizing tree at its defaults on your first solve.

Q. What poker situations can it analyze?

A. Any heads-up postflop spot. You set both ranges, the flop (and turn and river if you want a specific runout), the starting pot and effective stack, and bet and raise sizes street by street, including rake and rake cap. Preflop is not solved here — for opening ranges by position, use the starting hand chart instead.

Q. Can I see flop strategies instantly without solving?

A. Yes — open «Flop study» in the sidebar. These are precomputed results, so they appear with no wait. Choose «Open · Call», «3-bet pot» or «4-bet pot», pick the seats and a three-card flop, and you get the action frequencies of the player who acts first plus a 13×13 strategy and range grid; click an action to follow the line until the flop ends. The basis is 6-max 100bb with a 0.3% target error, and every ready spot covers all 1,755 distinct flops (grouped by suit isomorphism). Bet sizes are fixed at 33% and 75% on the flop with 60% raises, and nothing from the turn onward is stored. Seat combinations not yet computed show «Coming soon». For other sizes or the turn and river, use «Open in solver» and solve it yourself.

Q. Can I see at a glance which boards get bet the most?

A. Yes — open «Flop reports» in the sidebar. Pick a spot and the seats, and you get bet frequencies and EV averaged over 1,755 precomputed flops, weighted by how often each flop actually comes up. It covers two decisions: the first decision of the player who acts first, and the in-position player's decision after a check. Group by «High card», «Suits», «Pairing» or «Connectedness» to compare where betting goes up or down, and click a row to open that flop in «Flop study». The base is 6-max 100bb with a 0.3% target error, and bet sizes are fixed at 33% and 75% on the flop. Spots that haven't been precomputed yet aren't available.

Q. How do I practice hands where the solver mixes actions?

A. Use RNG practice in the GTO Trainer. Tap «RNG: Off» at the end of the trainer's top button row to switch it to «RNG: High» or «RNG: Low», and every hand comes with a number from 1 to 100 (it's off by default, and this device remembers the setting). The solver's frequencies for that hand split 1–100 into a range per action: with High, higher numbers mean more aggressive actions; with Low, lower numbers do. Picking the action in your number's range is «Best play»; a different action the solver still uses at least 3.5% of the time is «Acceptable»; anything else is graded by EV loss, up to «Acceptable» at most. The results screen shows each action's number range and where your number landed. It isn't used for the Daily Puzzle or for «My spots» practice, and your training record is still kept by EV loss whether RNG is on or off.

Q. How is this different from GTO Wizard or PioSOLVER?

A. Mostly in where the calculation happens. Solution libraries such as GTO Wizard are mainly for browsing spots that were solved in advance, which is fast and covers preflop (GTO Wizard also offers custom solving). Desktop solvers such as PioSOLVER are installed on a Windows PC and solve locally. This one solves in your browser, so you can rewrite ranges and trees freely with nothing to install.

Q. Which GTO solver is better, PioSOLVER or GTO Wizard?

A. They answer different questions, so the honest answer is what you want to do. A solution library is faster to browse and covers preflop, which suits studying standard spots. An installed desktop solver handles bigger trees than a browser can. If you want to solve your own postflop spot right now free and with nothing to install, that is what this solver is for — and you can compare its answer with either of them.

Q. Does it work on Mac, Linux or mobile?

A. Yes — any modern browser works, which is the practical advantage over Windows-only desktop solvers. One caveat: on iOS and Safari, browser limits force single-threaded solving, so custom solves are slow there. On phones, use the pre-solved Study Spots and the GTO Trainer, and run your own solves on a desktop browser.

Q. What is the GTO Trainer?

A. It is a drill mode built on the solved study spots. The trainer draws its questions from several decision points across the solved spots, so the combinations run past ten thousand, and it deals you hands drawn from the actual GTO range weights — so a hand shows up as often as you would really hold it there. You pick an action and it grades the decision against the solution. You can also save your own solved spots as trainer questions from the results screen and practice them on this device.

Q. Why does the trainer grade by EV loss instead of right or wrong?

A. Because GTO mixes actions, a low-frequency choice is not automatically a mistake. The trainer measures how much expected value your action gave up, relative to the pot: up to 0.35% of the pot is a best play, up to 1% is acceptable, and anything beyond that is worth reviewing. Cutoffs have floors of 0.02bb and 0.05bb.

Q. Why is grading relative to the pot?

A. Because the same 0.08bb is 1.45% of a 5.5bb pot — a spot to review — and just 0.36% of a 22.5bb pot, which is acceptable. Absolute-bb grading made 3-bet pots look worse than they were, so grading switched to a percentage of the pot in August 2026. In a 5.5bb single raised pot the cutoffs work out to 0.02bb and 0.055bb; in a 22.5bb 3-bet pot they are about 0.079bb and 0.225bb, so 0.08bb sits just past the best-play line.

Q. Where is my study progress saved?

A. On your device by default, with no account needed. If you sign in with a HoldemMaster account, your history for Study Spots and Daily Challenge can sync across devices. The Daily Challenge day streak and completed mark stay on each device. Your own solved spots and their practice history stay on this device even when signed in; they are not saved to your account. Your saved ranges and bet settings lists are kept in your account when you sign in, so you can open them on another device. Streaks, weak-spot breakdowns by scenario, and the Review queue of spots where you lost EV use your practice history.

Q. Can I install it to my home screen?

A. Yes. Installed, it opens full screen without a browser bar, and the study spots and trainer are stored on the device so you can drill without an internet connection. In Chrome or Edge use the install icon in the address bar; on iPhone use Share, then Add to Home Screen. Solving custom spots offline works only after the solver engine has been downloaded once.

Q. Is it safe to install to the home screen?

A. It is a web app, not a downloaded program — it runs inside the browser's sandbox even when added to the home screen (on Android, Chrome wraps it in a lightweight app package). You can verify it rather than take our word for it: no camera, contacts, SMS or location permission is requested, and the network tab in developer tools shows the requests it makes. The source code is public on GitHub under AGPL-3.0, and when you remove it, the browser lets you clear its stored data as well.

Q. Samsung Internet says "Unsafe app blocked" — what does that mean?

A. It does not mean malware was found. Samsung Internet builds its own install package, and that package is not yet on Google's trusted list, so the browser shows a warning. Installing through Chrome avoids it. To continue in Samsung Internet, tap More details on the warning and choose Install anyway.

Q. Is this an open source GTO poker solver?

A. Yes. It is based on WASM Postflop by Wataru Inariba, released under AGPL-3.0, and HoldemMaster's localized and enhanced version publishes its full modified source under the same license. The original project states on its own site that it will no longer be updated, which is part of why this version is maintained separately.

Run the free GTO solver →

Install it to your home screen and the study spots and trainer are stored on the device, so you can drill without an internet connection — Chrome and Edge show an install icon in the address bar; on iPhone use Share → Add to Home Screen.

This solver is based on WASM Postflop by Wataru Inariba (AGPL-3.0), localized and enhanced by HoldemMaster. The full modified source code is published under the same license.