contract ITokenPool {    

    /**@dev Token to be managed */
    ERC20StandardToken public token;

    /**@dev Changes trustee state */
    function setTrustee(address trustee, bool state) public;

    // these functions aren't abstract since the compiler emits automatically generated getter functions as external
    /**@dev Returns remaining token amount */
    function getTokenAmount() public constant returns (uint256 tokens) {tokens;}
}
/**@dev Token pool that manages its tokens by designating trustees */
function getTokenAmount() public constant returns (uint256 tokens) {tokens;}

/**@dev Returns remaining token amount */