Patent Description:
Word games are known from for example Scrabble®. In Scrabble multiple players take turns by forming words on a game board with playing stones from its letter rack. Other types of games involve a combination of skill or strategy, and randomness. As an example, the Ludo® board game. Ludo requires multiple players to move tokens over a game track to a safe zone. Roulette is another game having a high level of randomness to it. A player playing roulette is not challenged very much on the strategic level.

<CIT> discloses an electronic hand-held game apparatus comprising a portable hand-held type computer including a keyboard, display screen, and memory. The keyboard has a plurality of data entry keys and instruction keys. The data entry keys include twenty-six alphabetic and ten numeric characters arranged in a novel manner. In play mode, the microprocessor which controls the data flow between the memory, data entry keys, function keys, and the display, accepts sets of data entered into the keyboard by the player. The sets of data comprise combinations of alphanumeric characters corresponding to license plates observed by the player. The microprocessor compares the license plate data to the stored thirty-six character data to identify and accumulate matches between them. Once all thirty-six characters have been matched, a winning signal is provided. The game is designed so that it may be played with as many players as have the apparatus. Each player takes a turn entering license plate numbers in their own instrument. The first player to have matches for all thirty-six alphanumeric characters is the winner. The instrument provides a win indicator signal.

A disadvantage of the current games dominated by randomness is that the word skills of players having a strategy insight is not challenged very well. A further disadvantage of the current games is that the efficiency and/or playing speed is not particularly high. A further disadvantage of the current games is that the games have limited playing options.

An object of the invention is to mitigate one or more of the disadvantages as mentioned above.

According to a first aspect of the invention, string handler comprising:.

The random character generator is arranged for generating a random character randomly selected from the set of characters. The random character generator typically generates each character from the set of characters with the same chance. Uneven chance distributions are foreseen although typically not applied.

The memory arranged for storing a string of characters selected from the set of characters may be a section of a processor memory. Alternatively, the memory may be one or more registers associated with the processor. The stored string is of a minimum length of at least three characters. Furthermore, marks may be associated with characters. These marks are stored with the characters in the memory.

The output device typically may show the string. The output device typically may also show the marks if any. Further, the output device, if marks are shown, may also show the association between the mark and the associated character. The string may be shown as a row, column, curve, or diagonal of characters. Alternative ways of showing the string of characters are foreseen. The mark may be shown e.g. as a box around the associated character. Alternatively, an underscore of the character and/or blinking of the character.

The input device may comprise a touchscreen integrated with a display of the output device. The input device may comprise a keyboard arranged next to the output device, such as a display. The input device may be limited to inputting one or more activation tags associated with at least a character of the string. The input device may be limited to inputting activation tags per character of the string.

The controller may be a processor, such as a microprocessor. The controller may be associated with memory or have integrated memory. The controller may comprise registers. The controller may be arranged for executing steps. The steps may be executed consecutive or any other order. Further, one or more of the steps may be executed in parallel and/or multiple times even relative to other steps.

The step of retrieving from the memory the string and when present the marks may be executed ahead of time or just in time before the step using this information. The step of receiving from the input device activation tags may also be performed ahead of time or just in time before the step of receiving the random number.

The step of receiving from the random character generator the random character may always be executed, but is only taken into account if receiving the at least one activation tag is executed and concluded beforehand. Thus, receiving random characters by the controller may constantly occur, but only for the step mentioned for the controller, the random character is taken into account that is received after the reception of the at least one activation tag.

The step of associating a mark with each character in the string is bound to two requirements. The first being that the random character equals the character in the string. The second being that an activation tag was received for that character in the string. Additional requirements may be imposed or added depending on the setup or setting or initialization of the string handler. An activation tag associated with that character may be seen as selecting that character for being processed.

The step of providing an indication to the user output device and resetting the string is restricted to the status that all characters in the string are associated with a mark. The indication is provided to the output device. The output device may comprise for example a sound device, such as a loudspeaker, and/or a light device, such as a flashing light, beacon and/or revolving lamp. The output device may comprise for example a screen showing the indication e.g. a flashing background to and/or a flashing box around the string. Further, if the indication is given, resetting the string may comprise disassociating all marks with the characters of the string.

The step of storing in memory the string and when present one or more marks, which are associated with a character of the string, is performed after the preceding step, should be interpreted that the step is performed after the step of providing an indication if the requirements for this step are fulfilled, but if not, the preceding step is the step of associating a mark with each character in the string. Effectively, this step may be seen as overwriting the old status of the string and associated marks with the current status of the string and the associated marks. Therefore, the storing may be seen as temporarily storing in a memory close to the controller or processor, such as a DRAM or the like, or may be seen as more permanently storing in a memory typically arranged further away from the processor, such as a flash memory, solid state memory, hard drive or even a tape storage or DVD.

The string handler provides the core for intriguing interaction between a user and the string handler taking the random character generator and user input. The user may use skill and intelligence to outwit the string handler to get fast to a string with marks associated with all characters in a shortest amount of turns or repetition cycles of the controller, wherein a cycle or turn at least comprises the step of associating a mark. The technical effect is that the string handler provides an increase of options to the user thereby challenging the user. The string handler therefore provides a solid and/or compact game engine providing numerous playing options. The advantage is that the string handler may be used online as well as offline. The technical effect of associating marks in combination with storing and retrieving these marks in and from memory is that multiple cycles or turns are linked such that the game engine provides a game that is playable over a prolonged amount of time.

In an embodiment of the string handler, the searchable database is based on a dictionary, preferably of one particular language, advantageously providing an easy implementation. Further, by basing the searchable database on a particular dictionary or combination of dictionaries, the string handler may be arranged for use in a specific country, a specific region and/or a specific selection of countries. Further, the searchable database may be focused on specific dialects, crowds, tribes, nations or people.

In an embodiment of the string handler, the searchable database is accessible through an Internet search engine, such as Google, Bing, Yahoo!. These search engines may be used to decide if the string should be accepted as valid. A possible selection criterion could be if the search engine returns with an alternative or corrected spelling. A possible selection criterion could be if the number of search results exceeds a particular threshold value. Another possible selection criterion could be if the images returned by the search engine show a particular item or object. The use of one or more Internet search engines provides efficient checking of the string.

In an embodiment of the string handler, the string handler comprises:.

In an embodiment of the string handler, the aggregation is based on multiplying the character value with the base value for each character, whereafter these values per character are added or multiplied providing a logical and easy to follow for the user calculation method. Typically, the odds that all characters of the string have associated marks, thus satisfy the requirements for the indication step, is lowered, but the indication may therefore be multiplied or increased. As an example, the indication may be a payment of an amount of money to the bank account of the user, wherein the amount is increased if the odds are lower. It is the challenge to the user to strike a favourable balance between lowering the odds and increase or enlargement of the indication. A possible advantageous solution is the selection by the user for adding or multiplying in combination with a particular string also selected by the user for creating the highest probability of obtaining an indication outweighing or at least providing a favourable balance for the deducted amount from the bank account. The adding version may be labelled the mini version. The multiplying version may be labelled the maxi version.

In an embodiment of the string handler, the bank account access unit is a pin console. This provides an easy to implement embodiment.

In an embodiment of the string handler, the associating comprises associating the mark if also all preceding characters in the string are already associated with a mark. This embodiment applies an additional requirement of that all preceding characters in the string are already associated with a mark. Due to this order of applying marks to characters making up the string, the odds are lowered, which is typically balanced by an increase of the indication. This variation further advantageously adds to the playing options of the user and/or linking of multiple cycles or turns.

In an embodiment of the string handler, the set of characters comprises the group of letters a-z and/or the group of numbers <NUM>-<NUM>. The set of characters comprising letters a-z allows for making strings of characters representing words. The set of characters comprising numbers allows for making strings of characters representing special numbers to the user, such as his birthday or -year. The combination of letters and numbers allows to form strings of characters comprising words or abbreviations in combination with special numbers to the user. Furthermore, the combination allows to replace words with a number, e.g. four with <NUM>, and/or to replace characters in the words with a number, e.g. both with b0th or replace with r3place. This embodiment is typically advantageous in combination with the searchable database being one or more dictionaries and/or one or more Internet search engines as mentioned in other embodiments providing the additional challenge and/or playing option to the user to interact with the string handler. And additional advantage is that the combination of letters and numbers as characters is close to the roulette numbers of <NUM>-<NUM> allowing the string handler as game engine to be easier picked up by current players of the roulette game as well as casinos. In an embodiment, capital letters A-Z are used or supplement the character set.

In an embodiment of the string handler, the set of characters comprises a word character representing a word selected by the user, wherein the word is formed from at least three characters from the set of characters. The word character may be *, %, # or any other symbol typically not used as letter and number. The word character advantageously allows to put in the string a character that has the odds of a character, but represents a word, thus typically in combination with other words in the string advantageously forming a combination of words, such as a sentence in a shorter amount of characters influencing the odds typically in favour of the user. It is further noted that in case of a sentence, due to the limited number of characters in the set of characters, the sentence is typically not started with a capital and not ended with a point or dot. Instead of a full sentence, the string may comprise a sequence or combination of words, for example representing a sentence where non-essential words are left out, e.g. article words or helping verbs. Further, the word character in combination the letters and the numbers provide a set of characters of the same length as the European variant of the roulette game. Further, an additional word character may be added to match the amount of numbers in the American variant of the roulette game. An example of a string using the word character, relating to the previous example, may be "casino pays for our *", "casino * for our vacation", "casino pays * our vacation", "casino pays for * vacation", and "casino pays for our *".

In an embodiment of the string handler, the random character generator comprises:.

According to a first aspect of the invention, a method for handling a string comprising:.

According to a first aspect of the invention, a computer program product comprising a computer readable medium having computer readable code embodied therein, the computer readable code being configured such that, on execution by a suitable computer or processor, the computer or processor is caused to perform any of the methods of any of the embodiments mentioned.

The invention will be apparent from and elucidated further with reference to the embodiments described by way of example in the following description and with reference to the accompanying drawings, in which:.

The figures are purely diagrammatic and not drawn to scale.

The invention will be apparent from and elucidated further with reference to the embodiments described by way of example in the following description and with reference to the accompanying drawings, in which:
<FIG> schematically shows a string handler <NUM> according to the invention. The string handler comprises a random character generator <NUM>, a memory <NUM>, an input device <NUM>, an output device <NUM>, and a controller <NUM>.

The random character generator generates a random character from a set of characters. Typically, the distribution of the chance a particular character is drawn is evenly distributed over all the characters of the set. The memory is arranged for storing a string of characters selected from the set of characters and marks associated with each character of the string. The string has a minimum length of three characters. In one embodiment the minimum string limit may be set to another value, such as two characters, without negatively influencing the technical effect of the current invention. The memory size may be selected such that relatively long strings together with the associated marks may be stored. A long string may be defined to comprise <NUM> characters, <NUM> characters, <NUM> characters, or as less as <NUM> characters. A character may comprise an ASCII character encoded in a byte or, a Unicode character encoded in e.g. <NUM> or <NUM> bits. In an alternative embodiment, the string may comprise space for storing <NUM> separate words of <NUM> characters each, separated by a carriage return, thus <NUM> characters in total. With reference to the section above, the carriage return may not be shown on the output device and/or may not be taken into consideration in the string handler as it may be considered as an entry separator. In an alternative implementation the string may comprise space for storing <NUM> separate words of <NUM> characters each shown on the output device as <NUM> rows below each other, while stored as one continuous string of <NUM> characters in total.

The input device may be a keyboard. The keyboard may be limited to only lower- or upper-case characters. The keyboard may comprise number characters. The keyboard may comprise additional symbols extending the alpha and/or numeric characters set. The output device may be a display or screen. In an alternative embodiment, the input and output device are combined with the use of a touch screen.

The controller may be implemented centralized, such as in a single microprocessor. The controller may be implemented decentralized, such as in multiple microprocessors, alternatively, the controller may be implemented with the use peripheral interfacing devices, such as FPGA's or ASIC's handling e.g. communication or pre-processing information.

The controller is configured for executing several steps. First, the controller retrieves <NUM> from the memory the string and when present the marks. Second, the controller receives <NUM> from the input device at least one activation tag. The first and the second step may be performed in reverse order or even in parallel. Third, after receiving the at least one activation tag, the controller receives <NUM> from the random character generator the random character. Thus, any random character generated and received as long as no activation tag is received is neglected. Typically, the first random character received after that the at least one activation is received is taken into account in the further steps of the controller. Fourth, after receiving the random character, the controller associates a mark with each character in the string if the character equals the random character, and if an activation tag was associated with the character in the string. Fifth, after associating and if all characters in the string are associated with a mark, the controller provides an indication to the output device and resets the string. Sixth, after the preceding step, the controller stores in memory the string and when present one or more marks.

Following from the steps above, the controller communicates <NUM> with the memory for retrieving and storing the string and when present the marks. Following from the steps above, the controller communicates <NUM> with the random character generator for receiving the random character. Following from the steps above, the controller communicates <NUM> with the input device for receiving the activation tag or tags. The input device may further communicate information inputted by a user to the controller for influencing the behaviour of the controller, the executing of steps and/or the information communicated by or displayed on the output device. Following from the steps above, the controller communicates <NUM> the indication from the controller to the output device. The output device may further receive and display the string of characters. The output device may further receive and display information relating to the string of characters and/or status of the string handler.

The random character may temporarily be stored in a character storage, which is typically a processor memory associated with or a register of a processor. Typically, in case of a processor memory a section of the processor memory is allocated for storing the random character. Additional information may be stored in the character storage, such counters and statistic information relating to the randomness of the random character generator. In certain embodiments the character storage is part of the memory.

The string handler may optimize the time the user may spend at the table or online. The string handler may further open a new set of playing options by applying the specified technical means.

Optionally, the string handler comprises a bank account access unit <NUM>. The bank account access unit may communicate to a bank holding the bank account of the user. The user may receive instructions for accessing his bank account via the output device, and input the information via the input device. The bank account access and the input device and the output device may communicate via the controller or may communicate directly.

The controller at least performs the following steps before associating the mark. First, the controller receives the base value from the input device. The controller typically performs receiving the base value step before receiving the activation tag. Second, after receiving the activation tags, the controller calculates a to be deducted amount based on aggregation for each individual character in the string associated with a tag, based on the character value and the base value. The to be deducted amount for each individual character is typically based on the multiplication of the base value with the character value. Third, the controller provides the to be deducted amount to the bank account access unit. And typically, after the to be deducted amount is correctly deducted from the bank account, the controller performs the associating of marks step.

Following from the steps above, the controller communicates <NUM> with the bank account access unit the to be deducted amount and typically also receives balance information relating to the bank account of the user.

In an alternative implementation, the bank account access unit deducts an amount of the bank account of the user, such that the user has a local depot of money simplifying and relaxing the response requirements to the bank account access unit and more specifically the server of the bank with which the bank account access unit is communicating.

Optionally, the string handler comprises a user account database <NUM>. The user account database may be located at a remote location and/or may be shared with other string handlers. In an alternative embodiment, the user account database may be merged with the memory <NUM>. The user account database may store the current status of the string of characters. The status of the string may comprise the marks associated with characters of the string. The status may further comprise user playing history, such as statistics. The user account database may also store the access code or a derivative of the access code, such that the user may be verified when attempting to get access to the user account in the user account database.

The controller typically performs the following steps before the steps of retrieving from the memory the string and/or receiving from the input device at least one activation tag. The controller may perform the following steps at a later moment in time, such that the current status of the string handler, more specific the string of characters and when present the associated marks, are associated with the user account for updating the user account. First, the controller stores a user status and an access code associated with the user status in the user account database upon user instructions. The user instructions are typically inputted with the use of the input device and the user is typically guided by output shown on the output device. Second at a later moment in time, the controller receives the access code from the returning user. Third, when the access code in the user account database matches the received access code, the controller loads from the user account database into the memory the string and when present marks associated with characters of the string. Hereafter the controller typically continues with the step of retrieving from the memory the string and when present the marks and/or receiving from the input device at least one activation tag.

Following from the steps above, the controller communicates <NUM> with the user account database for storing and retrieving one or more user accounts.

The string handler may comprise a searchable database of strings, or an interface to a searchable database of strings. The searchable database may comprise strings which are allowed or validated for use with the string handler. The strings in the searchable database are typically composed of characters which are within the set of characters used by the string handler, more typically all characters of the set of characters are used in all the strings in the searchable database.

The controller typically performs the following steps before the steps of retrieving from the memory the string and/or receiving from the input device at least one activation tag. First, the controller receives the inputted string from the character input device. The user is typically guided by the output device in inputting the string into the input device. Second, the controller verifies that the inputted string comprises at least three characters. Third, the controller searches the string in a searchable database of strings, and if found providing a found indicator. The second and third step may be performed in parallel or in reverse order. Fourth, if a found indicator is provided, the controller stores the inputted string without any marks in the memory. The preceding steps allow the string handler to get configured to start the game or play.

<FIG> schematically shows a method <NUM> for handling a string according to the invention. Method for handling a string comprises several steps as specified below. The method starts with retrieving <NUM> from a memory a string of characters selected from the set of characters, wherein the string has a minimum length of three characters, and when present marks associated with each character of the string. The string and marks are typically retrieved from memory local or external. The method continues with receiving <NUM> at least one activation tag associated with at least one character of the string. The step of receiving may be done parallel or ahead of the step of retrieving string and marks from memory. Typically, the provides information to a user inputting the one or more activation tags. The retrieving step may retrieve this information from a remote location where the user is located towards a system executing the method. After receiving the activation tags, the method continues with the step of generating <NUM> a random character from a set of characters. The random character is typically generated by a random character generator. After generating the random character, the method continues with associating <NUM> a mark with each character in the string if the character equals the random character, and if an activation tag was received for the character. After associating if and all characters in the string are marked, the method continues with providing <NUM> an indication and resetting the string. As the step of providing an indication is conditionally executed, the following step may also directly follow the step of associating a mark, if the condition of the current step is not fulfilled. After the preceding step, the method continues with storing <NUM> in memory the string and when present one or more marks. If the preceding step of providing an indication is executed, the current step of storing in memory becomes optional. Further, after executing the current step, the method may continue with step of retrieving from a memory the string and if present the marks. Effectively starting another playing round. The storing and retrieving may be local to a controller executing the method, e.g. in internal memory or even cache memory, alternatively, the storing and retrieving be done in relation to more remote memory, such as swap memory, hard disc, or remotely located database or server. Further, after executing the current step, the method may end the execution of steps according to the invention thus effectively ceasing handling of the current string.

<FIG> schematically shows an optional method <NUM> for searching for a string as part of the method <NUM> for handling a string. The optional method starts with receiving <NUM> an inputted string typically from the character input device. The inputting of the string is typically supported by information shown to the user for example via an output device. The optional method continues with verifying <NUM> that the inputted string comprises at least three characters. This minimum advantageously allows the number of cycles that the method or phrased differently the number of game cycles to be such that the standard deviation is limited to a level such that the chance that a game, which can be defined as starting with a string without marks and ending when an indication is provided that all characters in the string have a mark associated, is below a minimum number of game cycles is greatly reduced. The minimum number of game cycles is at least three as the minimum number of characters is three. In variants of the current invention, the minimum string length may be set to other values, such as <NUM>, <NUM>, <NUM> or <NUM> to influence the minimum of game cycles and/or maximum standard deviation. The optional method continues with searching <NUM> the string in a searchable database of strings, and if found providing a found indicator. The optional method, if a found indicator is provided, continues with storing <NUM> the inputted string without any marks in the memory.

<FIG> schematically shows an optional method <NUM> for coupling a bank account as part of the method for handling a string. The optional method starts with receiving <NUM> the base value from the input device. The optional method, after receiving the activation tags, continues with calculating <NUM> a to be deducted amount based on aggregation for each individual character in the string associated with a tag, based on the character value and the base value. The optional method continues with providing <NUM> the to be deducted amount to the bank account access unit. The optional method may be part of the method for handling a string as previously specified or as specified for the controller for the string handler.

<FIG> schematically shows a method for coupling a user account as part of the method for handling a string. The optional method starts with storing <NUM> a user status and an access code associated with the user status in the user account database upon user instructions. The user status may comprise the string of characters and when present marks associated with characters of the string. The optional method continues with receiving <NUM> the access code from the returning user. The optional method, when the access code in the user account database matches the received access code, continues with loading from the user account database into the memory the string and when present marks associated with characters of the string. The optional method may be part of the method for handling a string as previously specified or as specified for the controller for the string handler.

<FIG> schematically shows an embodiment of a computer program product <NUM>, computer readable medium <NUM> and/or non-transitory computer readable storage medium according to the invention comprising computer readable code <NUM>.

It will also be clear that the above description and drawings are included to illustrate some embodiments of the invention, and not to limit the scope of protection. Starting from this disclosure, many more embodiments will be evident to a skilled person without departing from the scope of the invention as set forth in the appended claims. These embodiments are within the scope of protection and the essence of this invention and are obvious combinations of prior art techniques and the disclosure of this patent. Devices functionally forming separate devices may be integrated in a single physical device.

The term "substantially" herein, such as in "substantially all emission" or in "substantially consists", will be understood by the person skilled in the art. The term "substantially" may also include embodiments with "entirely", "completely", "all", etc. Hence, in embodiments the adjective substantially may also be removed. Where applicable, the term "substantially" may also relate to <NUM>% or higher, such as <NUM>% or higher, especially <NUM>% or higher, even more especially <NUM>% or higher, including <NUM>%. The term "comprise" includes also embodiments wherein the term "comprises" means "consists of".

The term "functionally" will be understood by, and be clear to, a person skilled in the art. The term "substantially" as well as "functionally" may also include embodiments with "entirely", "completely", "all", etc. Hence, in embodiments the adjective functionally may also be removed. When used, for instance in "functionally parallel", a skilled person will understand that the adjective "functionally" includes the term substantially as explained above. Functionally in particular is to be understood to include a configuration of features that allows these features to function as if the adjective "functionally" was not present. The term "functionally" is intended to cover variations in the feature to which it refers, and which variations are such that in the functional use of the feature, possibly in combination with other features it relates to in the invention, that combination of features is able to operate or function. For instance, if an antenna is functionally coupled or functionally connected to a communication device, received electromagnetic signals that are receives by the antenna can be used by the communication device. The word "functionally" as for instance used in "functionally parallel" is used to cover exactly parallel, but also the embodiments that are covered by the word "substantially" explained above. For instance, "functionally parallel" relates to embodiments that in operation function as if the parts are for instance parallel. This covers embodiments for which it is clear to a skilled person that it operates within its intended field of use as if it were parallel.

Thus, these terms are not necessarily intended to indicate temporal or other prioritization of such elements.

The devices or apparatus herein are amongst others described during operation. As will be clear to the person skilled in the art, the invention is not limited to methods of operation or devices in operation.

Use of the verb "to comprise" and "to include", and its conjugations does not exclude the presence of elements or steps other than those stated in a claim. " The article "a" or "an" preceding an element does not exclude the presence of a plurality of such elements.

In the device or apparatus claims enumerating several means, several of these means may be embodied by one and the same item of hardware.

The invention further applies to an apparatus or device comprising one or more of the characterising features described in the description and/or shown in the attached drawings. The invention further pertains to a method or process comprising one or more of the characterising features described in the description and/or shown in the attached drawings.

It will be appreciated that the invention also applies to computer programs, particularly computer programs on or in a carrier, adapted to put the invention into practice. The program may be in the form of a source code, a code intermediate source and an object code such as in a partially compiled form, or in any other form suitable for use in the implementation of the method according to the invention. For example, a program code implementing the functionality of the method or system according to the invention may be sub-divided into one or more sub-routines. An embodiment relating to a computer program product comprises computer-executable instructions corresponding to each processing stage of at least one of the methods set forth herein. These instructions may be sub-divided into sub-routines and/or stored in one or more files that may be linked statically or dynamically. Another embodiment relating to a computer program product comprises computer-executable instructions corresponding to each means of at least one of the systems and/or products set forth herein. These instructions may be sub-divided into sub-routines and/or stored in one or more files that may be linked statically or dynamically.

Claim 1:
String handler (<NUM>) comprising:
- a random character generator (<NUM>) for generating a random character randomly selected from a set of characters;
- a memory (<NUM>) arranged for storing a string of characters selected from the set of characters, wherein the string has a minimum length of three characters, and marks associated with each character of the string;
- an input device (<NUM>) for inputting at least one activation tag associated with at least one character of the string;
- an output device (<NUM>) for conveying an indication to the user;
- a controller (<NUM>) configured for:
- retrieving from the memory the string and when present the marks;
- receiving from the input device at least one activation tag;
- after receiving the at least one activation tag, receiving from the random character generator the random character;
- after receiving the random character, associating a mark with each character in the string if the character equals the random character, and if an activation tag was associated with the character in the string;
- after associating and if all characters in the string are associated with a mark, providing an indication to the output device and resetting the string; and
- after the preceding step, storing in memory the string and when present one or more marks.