 <p>Well, whether or not there is a better way to extract two tokens than by calling GetToken twice seems irrelevant because one of your requirements is:</p> <blockquote> <p>(the class shall have) a method that subtracts exactly ONE token from your number of tokens</p> </blockquote> <p>So, it seems you are stuck with two calls. Since this is a highly contrived assignment you may as well just stick to the requirements. If you really want to learn something start your own personal project. :) </p> <hr> <p>Also, as an aside, you can chain constructors in C#. So this:</p> <pre><code>public TokenGiver() { numTokens = 0; } public TokenGiver(int t) { numTokens = t; } </code></pre> <p>...becomes...</p> <pre><code>public TokenGiver() : this(0) { } public TokenGiver(int t) { numTokens = t; } </code></pre>