This section includes a history of many of the endeavors and projects I've created and worked on personally and professionally over the years.  Collectively, they represent a life of figuring things out through a lot of hard work and perseverance.  

1999 - TEXTRIS

This is a game I wrote from the ground up using Delphi (Pascal on steroids) that combined the mechanics of Tetris and Scrabble.  As well as the programming, I also did all the art (pr-art) and audio.

The game was level and time based with special pieces, power ups and an internet high score list.  It was the first fully completed game I ever made. I've flirted with the notion of remaking it, but the closest I came to doing so was Precious Words. 

2000 - online-rpg-merchant.com

Online RPG Merchant was a website I built when I saw the opportunity to sell items in the early era massive multiplayer online game Asheron's Call.  I played the game so much that I made a business out of it.  This was long before Player Auctions and before these types of activities were frowned upon.  PayPal came out in March 2000, but they didn't implement shopping carts for websites until 2001.

This was something I started for fun / to justify the amount of time I spent playing the game, but it actually became a successful endeavor,  and  I ended up saving up enough money selling virtual items that I quit cooking and moved to South Carolina.

It was a very niche thing to do back in those days, and most of my friends and family didn't even understand what I was doing or believe that people would buy items that didn't exist in the real world.

This was the first time I combined my passion for creating with my passion for gaming to actually make some money as a result, despite the website being cobbled together.  I had to learn everything from HTML to registering a dot com.

My business name on PayPal is still Online Rpg Merchant more than 20 years later:

2001 - NETCASTERS

On the heels of leaving the restaurant business, I moved to South Carolina.  Still having no clue how I was going to crack into the industry, I started looking at online classified ads for any potential leads.  The first and pretty much only classified ad having to do with programming was for a new startup that needed a PHP developer called Netcasters.  I didn't know PHP at all, but I applied anyway.

I ended up getting the job and creating the software for the beautiful "next generation" blended media machine pictured to the left in about three months.  I had to put in a lot of hours since I had no clue what I was doing, but I figured it out.  Believe it or not, this endeavor was on track to be very successful and we were placing these machines all over the island.  Then 9/11 happened, and it gutted tourism and the business wasn't far to follow.  I left the company the next month to go work with my brother as a web developer.

Alas, I had landed a job in the industry..



2001 - HYPERWARE

Hyperware was a company my brother worked for at the time, and he pulled me aboard due to a deal they had brewing with McDonalds to create digital signage for the food menus which at the time didn't really exist.  

I worked remotely from South Carolina for this company in California, which was pretty unusual for 2001.  I had to create a platform that allowed setting up, updating and managing prices and other information via the internet through a website.  I learned a lot of JavaScript and DHTML figuring it all out.  

Unfortunately, the fall out from 9/11 along with the Dot-com bubble bursting resulted in a recession, and investors pulled out, and the project died along with the company in 2002.  On a Friday afternoon, a conference call made it official when executives gathered everyone together and announced, "It's over."

Since I have no pictures for this really, pictured to the left is "Ultracade", a product my brother was heavily involved with at Hyperware, which was an awesome classic multi-cade.  I never worked on Ultracade directly.

2002 - rateyourwriting.com

Rate your writing was the first full-scale website I created for people to share their writing and get it rated by others.  It became popular for the time in the age of the early web.  Thousands of pieces of writing were posted, as well as many weekly columns and daily news.  It also had very active forums and one community member even sent out a quarterly newsletter with the most liked pieces via actual mail!  I created the site from scratch using what I learned about PHP4 and MySQL at Netcasters.  PHP4 had just come out in May, 2000, and it was ALL the rage!  

2002 -ClassicComputergamecollector.com

In accordance with my apparent tendency for very long website names, this was another website I built from the ground up (PHP4/MySQL again) for computer game collectors.  It was a database with thousands of pictures of the games, the ability to create collections, manage them, and even buy and sell your items by linking your auctions on Ebay.

I am still a collector till this day, and have over 150 brand new, original shrink-wrapped rare computer games from the 70's and 80's, and I bought the lion share of them during this time for $5 and $10 a pop before the vast majority of people cared about the nostalgia.  

2003 - ColumnSTOP.com

I created this website (PHP4/MySQL of course) as a way to report news, give my opinions, etc.  

It actually got a decent amount of traffic by mid-2004 after consistently updating for more than a year.  Unfortunately, like a lot of web-based efforts, life happened, and I just stopped updating it, and eventually forgot about it.  

I completely forgot I even created this site, but saw myself talking about it while looking up another one of my sites using the amazing WayBack Machine

The site was super minimalistic by design (sort of like a newspaper, go figure).

2003 - ultracade technologies

This was the next company I worked for which rose from the ashes of Hyperware.

2003 - Tag'EM 

While at Ultracade Technologies, I worked on Tag'Em,  a very unique arcade game that featured two player battles between colorful characters wielding large fluffy bats.  I wrote the game in C++ on a proprietary operating system called JoshuaOS, and was distributed by a company called Extreme Media.  My brother, who did all of the graphics for the game, I believed help come up with the idea as well.  I wish I could find a picture of the cabinet, but at this time, I cannot locate one.

2004 - Feeding FRENZY

While still at Ultracade Technologies, we were contracted by Sprout Games to make the arcade and redemption versions of this extremely popular computer game at the time.

I was actually given the original code of the game (C/C++), and it was quite a challenge to shoehorn all the changes we wanted to make into it, as well as add the operator menus and redemption features, which were quite extensive.  

It all worked out in the end, and the game actually sold very well, and was even sold internationally.  The cabinet actually had a fish 'tank' embedded in the side of the machine that the operators had to fill with water.  Once filled, it had bubblers that would make the plastic fish within swim around!  

Here's a link to the operator's manual.

This was the last arcade game I worked on for Ultracade before moving on to a more skunkworks type of role where we started to get into the casino gaming side of things.




2005 - Pokerpointersleague.com

Around this time, it was both the dawn and the hay-day of online poker.  Texas Holdem officially had it's coming out party, and it was EVERYWHERE.  My friends and I would play in tournaments 3-4 nights a week at different local bars and establishments.  I managed the website for one of these bars, which was a fully featured league management system I created from scratch using PHP and MySQL.  Fun days.  That low-resolution logo was the only graphic I could find.

2005- Fantasy football funnel

This was a website I created for friends which funneled fantasy football related news, reformatted and presented it all onto one page in a pleasant fashion.  I updated it for probably 7-8 years on and off, fixing broken links and such.

2005 - SKUNKWORKS

The skunkworks years I spent at Ultracade / Global VR were a lot of fun, and spanned from late 2005 to 2009.  During this time, we had a small office in Massachusetts and worked remotely for companies clear across the country well before working remote was trendy.  We became a 3rd Party Developer for Bally Technologies.  I spend most of my time creating proofs of concepts for new game ideas that the group came up with, as well as creating calculators to prove the math.  I did all this with a combination of Delphi and Asphyre / Omega (graphics libraries).  The objective was to come up with an idea that had enough promise to warrant a full development cycle, and ultimately be released into the Class III gaming (casino) market.  These were very much growing years for me, as we constantly tried to push the bar with regards to game mechanics and design.  Hold'em Peek-a-Boo Poker 10 Hand, a new concept poker game, won Bally's most innovative product award.  For the most part, our poker game ideas and concepts were a little too ambitious for the industry and the players at that time.  Below are some pictures of calculators and proof of concept games.

2006 - GLOBALVR

Ultracade Technologies was sold to GlobalVR in 2006 (more or less), so although my employer changed, we just kept rolling on the things we were working on at the time at our remote office.

2006 - LAS VEGAS FUN MACHINE

The Las Vegas Fun Machine was designed to be a coin-operated bar top machine with a suite of games mostly card-based in nature with a couple of outliers.  I did all the programming for all the games.  The games were created using Delphi and the third party graphics library called Asphyre .  All the game concepts were a collaboration between my brother, myself, and others working in our satellite office at the time.  The name was the brainchild of our boss at the time.   All the games were original concepts, and the Peek-a-Boo mechanic was leveraged in several of them.  This product never saw the light of day.

2007 - schoolsurf

schoolSurf was a browser replacement for schools that would lock down the internet except for whatever predefined websites were configured.  It also automatically forced full screen and didn't allow ALT-F4 to kill it. 

It never went anywhere, except into my would-eventually-be wife's classroom. :D

2007 - TABBYWARE

tabbyWare was a website/brand I started specifically to create windows applications.  The main two, tabbyFile and tabbyCalc, experienced relative popularity for their minimalist presentation and functional usefulness.  Although more modern versions of windows rendered tabbyFile somewhat antiquated, tabbyCalc on the other hand is an application I still use till this day!  There were other applications as well, like tabbyVNConnect.  These applications were a lot of fun to make, and were created with none other than Delphi 7, which was the best development tool in my opinion when it came to RAD solutions at the time.

On the About page of each application, I featured one of my cats.  The one pictured below, Chowder, passed in 2015.

tabbyCalc

tabbyFile

tabbyVNConnect

2007 - NDSSKINNY.COM

Nintendo DS Skinny was a website I created to review Nintendo DS games and flash cartridges (devices used to play illegal copies of ripped ROMs)

I also created a ROM Trimmer, called SkinnyROM, which was regarded as the best rom trimmer available on the market which drove traffic to the site.  

The trimmer removed extra blank space at the end of ROM images.  At the time, disk space on these cards was at a premium, so the tool helped people maximize the number of games they could fit on the cards that were used with the flash cartridges.

Once the website grew in popularity, manufacturers of the flash cards started contacting me and sending me their latest products to review, and as a result, I got a lot of free flash cartridges for the NDS.  Good times!

2009 - Pick kids

10/09/2009

01/12/2010

12/20/2009

01/22/2010

The Pick Kids games were my first foray into phone app development in late 2009.  I knew nothing about programming apps, or XCode, or Objective-C, or using a Mac for that matter.  It was quite a learning curve to say the least!  My brother came up with this idea, and did all the graphics.  The mechanic of the games was simple; show two images with a word below them, and the child would have to pick the picture that matches the word.

Since it was so early in the age of smart phones (iPhone 1 released in late June 2007), and not a lot of apps were out, Pick Kids actually got downloaded a lot.  They were completely free of charge, and the main goal of them was to get our feet wet in app development.

iOS Release dates to left.

2010 - iphoneWIPE

The idea was genius; leveraging the new technology of the gyroscope inside phones to simulate the motion of wiping ones bum with their iPhone! 

The idea was genius (credit to my brother), and we had to make it just for the laughs.

The first version had very graphically accurate poo appear on the screen as you "wipe", but Apple rejected it.  

We threw some smiley faces on the art, and low and behold they rejected it again.  We then went with full cartoon-ish style representations and Apple rejected it yet again.

Finally, Apple perma-banned the app from ever being submitted again.  

RIP iWipe.

2010 - Bally mobile games contract

I had the opportunity to port a bunch of Bally's biggest games to the first generation of iPhones.  While still at Global VR, the company had landed a contract to produce ten games over the course of 3 years.  They had to look, feel and play just like the real thing.  I did all these games using XCode and Objective-C, and it was pretty challenging overall and a lot of work.  I dug up the original app icons below, and I was actually surprised to remember and realize I personally developed seven out of tenBelow are the games I programmed along with their original release dates on iOS.  The last frame is just one of the iPhone sprite sheets with some symbol animations.

10/13/2010

05/27/2011

10/14/2011

Fire Ball 01/13/2012

These were far more complex than anything I'd done for mobile up to that point, and I was still learning XCode/Obj-C, so needless to say it was an adventure.  Each one of these games had intricate features and presented a lot of unique challenges.  On top of that, phones were far from powerful at that time, so memory and framerate were always a concern.  I left GlobalVR in the Spring of 2013 upon project completion.

06/07/2012

02/13/2013

05/06/2013

iPhone Spritesheet

Here's a couple of magazine ads from that time; the left is for Cash Spin, and the right is for Code Red.

2011 - DarkfallHOTSPOT.NET

You guessed it, another website.  This one assisted players of the game Darkfall with finding and meeting up with other players to duel or murder.  As the company who made the game begin updating less and less, and the player base started to suffer a result of neglect, that is when I thought it prudent to create this site.

A few years later, when the company released the sequel, I recreated the website with the same purpose, but the sequel was so bad that it died shortly after anyway.

2012 - PRECIOUS WORDS

Precious Words was an iPad only game I created using Objective-C and XCode in collaboration with an online friend who happened to have some great art skills.

The game was actually inspired by Textris, although it ended up being quite a bit different.  The game had very modest success, and eventually fell off the app store as iOS versions increased.

It was a fun game, and to this day I consider it a success.  

Most likely, the only working copy still in existence is on an old iPad I have!  

2012 - BULKHEAD STUDIOS

This is the company my brother and I incorporated around the time we left GlobalVR.  The plan was to make some stuff, and try to gain traction on the AppStore.  We had backing from any industry friend for at least two years.

2013 - GVG KENO GAMES

My brother and I were contracted to develop mobile versions of three of Grand Vision Gaming's most popular Keno games for iOS after producing one successfully in 2012 (Power Nova Keno) for them.  They were all developed using XCode / Objective-C over the course of around four months in breakneck fashion.  These games had fairly complex game mechanics that pushed my knowledge of Objective-C as well as my understanding of Keno mechanics.  We handled everything from QA to publishing them on the app store.  It was a successful development cycle and was a fun experience, albeit grueling to say the least.

Power Nova Keno 09/11/2012

Coconut Keno  05/05/2013

Ancient Thunder 06/23/2013

Four Card Keno 06/23/2013

2013 - MELON DROP

This was the first game released under the Bulkhead Studios tag.  Melon Drop was a unique brick-breaker with 100 levels at launch.  It was written entirely in Objective-C / XCode and was a lot of fun to create.  By this time, I'd created well over a dozen games in a few years with the XCode stack, and was pretty comfortable doing so at that point.  This game was probably the most lofty to make and was a ton of fun to make and play.  I built a fully-featured level editor for the iPad to create new levels, and my brother used it to hand-build every level.  We could push new levels to the app on demand via an updater system I built in.

It released on August 3rd, 2013 (a few days late due to slow app store processing) and had a warm reception on the app store.  Making apps had quickly become a tough gig since the early years however and it was becoming increasingly hard to get exposure.  Also, some guy happened to release another game called Melon Drop around the same time, which was a terrible game, but it mucked up SEO for our Melon Drop at the time.  Still a great experience making this game!

Coincidentally, this was the end of an era, as it was the last game I would ever develop in XCode/Obj-C.

2013 - Unity 

After hearing about this game engine for a bit, I finally checked it out in late 2013.  I was immediately blown away by it's power and potential, and started learning as much as I could as fast as I could.

2014 - EXPRESS Games

Domino Express holds historical significance because it was the first game I ever made in Unity.  It released just after the New Year on the iOS app store.  It was pretty crudely made, and I barely knew what I was doing, still trying to digest the new world that Unity had exposed me to.

Once I had the pipeline set up, we quickly iterated on the concept of "Express" and released four more titles in January.  The mechanic was a combination of touching the screen to move the board forward while creating solitaire runs, poker hands, etc..  We even made a Superbowl Express in time for the Superbowl that year, but Apple rejected it.


Solitaire Express - Jan 10th

Mahjong Express - Jan 16th

Jewel Express - Jan 21st

Poker Express - Jan 22nd

2014 - MORE APPS

At this point, I'd gotten a bit more comfortable as far as Unity goes, so naturally we continued to create more games.  All the apps to the left were released over March in April of the same year!  From left to right, Melon Stack, Flappy Melon, Land Phil, Jungle Phil and Snow Phil.  All but Melon Stack was an endless runner.

Flappy Melon was created in two days in an attempt to capitalize on the Flappy crazy at the time.

When we released Land Phil, it was our most promising game to date, and it actually got some press including the popular Youtuber to the left, who basically made a lot of fun of it while trying to figure out how to play.

Snow Phil is probably my favorite out of the three "Phil" games.  I still have an iPad mini with it on it.

Also worth noting, I created Keno Creator Pro which I ended up taking down off the asset store a few years later since I didn't think it was up to snuff and I didn't have the time to maintain it.  Several people have contacted me over the years to get a copy and I've sold it via other means as a result.

2014 - Slots creator pro

Slots Creator Pro was a from scratch project created specifically for the Unity Asset Store.  It was meant to fill the void that I noticed on the asset store for a full-featured, customizable Slot machine maker.  It has had over 20 updates driven by user requests and bugs found, and is still for sale on the store today!  SCP is my longest running project, clocking in at over 8 years old now!  Sometimes I think about discontinuing it, as truthfully, I could write it 100x better now in days.  However, I'm not in a position to do that and people still seem to enjoy it, so I'll continue to sell it until that changes.  

And lastly, I also produced a couple of other minor assets during this time, one for checking if you are online or not, and one for local notifications for iOS.

2014 - Slots!

Now that Slots Creator Pro was done being developed, it was only logical that we created some Slots to put on the app store!  These games did pretty well, with Grand Finale probably being the most popular.  These were of course created with Unity, but I also created a backend server that handled progressives between the apps as well as hourly, daily and weekly tournaments!  The tech stack was probably pretty janky overall, but the go-with-what-I-know approach was my specialty.  The backend used REST and MySQL; managing the tournaments was a pain but do-able.  Even the In-App purchases were dynamic and we could change them without resubmitting to the store.  It all worked pretty well in the end. 

Did I mention all these were released between May 29th and November 1st?   

That's over 15 apps and the Slots Creator Pro asset in less than a year under the Bulkhead banner.  Holy smokes.. 

In hindsight, my introduction to the Unity arena was pretty insane!

Emerald 7s

Grand Finale

Beach Days

Keno Slot

2015 - LIGHTRISE

Lightrise is a multi-player FPS combat game which attempted to closely mirror the combat seen in a game (Darkfall) that I played that had been shut down.  It started off as a passion project but gained steam with the community of the previous game.  The entire development cycle was about seven months long.  I probably would have worked on it longer, but I had taken a new job and was moving, so development was halted at that time.  I ended up releasing it on Steam at the end of 2015.  It was a complete thought, but it could have been more complete, if you know what I mean.   

It was a fun year with a lot of firsts, including getting Greenlit on Steam, being featured on the front page of Indie DB, and getting included in a few bundles.  I also streamed the development of the game all day, every day for six months straight which helped immensely with finding testers and raising awareness about the game.

It was of course built in Unity, and the multiplayer library I went with was Photon, which was the best in class at the time.

I made the game completely free (it was only ever 0.99c) in April 2022, and it can still be played on Steam

Below is a snapshot of the website from mid-2015.

2015 - GROVER GAMING

I was made aware of an opportunity at Grover Gaming in May of 2015.  At the time, there were around 30 employees.  After checking them out, I immediately identified the company as a very scrappy bunch, much like myself, so I saw the potential of what it could be.  As a result, my wife and I packed up, sold our house and left Massachusetts to move to Greenville, North Carolina on a total leap of faith.  I started as a Game Developer, and it has been quite a journey with Grover ever since, which has grown more than 10-fold since then.  To say I have learned and grown a tremendous amount since then would be a gross understatement.  There is no way this page will ever include even a fraction of the projects and things I've worked on at Grover, for a variety of reasons, from not significant enough to the nature of R&D requiring a lot of things we work on to stay under wraps.

2015 - Green lottery

This was the very first project at Grover I got thrust on to.  I'm not going to explain what it is, but from a technical standpoint, it consisted of creating Unity webGL builds of some of Grover games, changing the communication layer to Websockets and creating an android app to go along with it.  It was ultimately an idea that did not get traction and eventually died out.

If you want to know what it was: Click here 

2016 - raffle system

Ported six games an did integration for new Ohio Raffle market.  The market was active for 5+ years and had close to 3,000 machines in the field before the regulations changed and it switched over to Pulltabs.

2016 - CANADA PODS

Pioneered the creation of an HTML5 Slot engine and the first game to be used with a product in bingo halls in Canada.  

We had to travel to Canada several times between CBN and AGCO during this process, which was pretty fun.  

Five more games were created on the system after it was deployed.  This product is still running today.

French translations were not fun, however. 

2016 - RISE OF AGON

Rise of Agon is an MMO that I invested in with both a lot of time and money starting in early 2016; it was formally known as Darkfall, and renamed by myself and the other seven people who pitched in and bought the rights to the game.  The company delivered the game to us as one giant Zip file with no guidance.  It took a lot of blood, sweat and tears just to get a server up and running as-is.  

A team of about 40 strangers from around the globe, everything from programmers to designers to marketing joined the team as volunteers.  After many sleepless nights and countless meetings, we managed to relaunch the game two years later in May of 2017 with tons of changes and improvements.  It was well received and we had several thousand monthly subscriptions on day one.   I subsequently sold my interests in the company in 2018 as I wanted to turn my attention to other endeavors.  The game is still up and running today although I'm not involved in any capacity at this point.  

The game's client was Java, and the server was C++.  I knew nothing about Java prior to working on the game, and I wasn't a fan of C++, but had used it on projects like Tag'em and Feeding Frenzy.  

Below is the video we created prior to launch to appeal the community and get everyone hyped for launch.

2017 - Historical horse racing system

Created all regulatory game-side components and ported twelve games.  Also did all game communication and integration with 3rd party backend system.  We rolled this project out to several locations and in total we had somewhere north of 100 devices in the field for about three years.  Also, about this time is when I took the job as Director of Research and Development.

2018 - Video lottery terminals

Another new  market for Grover, I worked with the engineering team to create this new product, with South Dakota as the target.  It consisted of the usual, porting games, data access layer changes and additions, regulatory components and more.  This market is still running today with plans to expand into additional states.



2019 - Fight or flee?

Fight or Flee was designed to be a mobile minimalist dungeon crawler RPG with the feel of the classic RPG.  It was a procedural roguelike with endless dungeon areas and a day and night cycle since the dungeon areas were "open face".  This was a fun hobby project for a little bit, but I stopped development on it after a couple months to pursue other endeavors; perhaps I will revisit it one day. 

2020 - ATLAS (NEW SYSTEM)

This was an early 2020 project which consisted of creating a new backend and game architecture for future development.  I did all game architecture development for our first target market which happened to be Pulltabs.  That included 10 games, a new data access layer and more.  Unfortunately, the system was never completed on the engineering side (backend) and was subsequently abandon and later rebooted.

2020 - classic roguelike

Sometime in 2020 I briefly started working on a roguelike after going down the rabbit hole on field of vision algorithms.  I ended up making a full-fledged editor, as well as a player that used a shadow casting algorithm I converted to C# (the righthand picture does a poor job of showing it off) for light pathing etc.  I used the tileset from Ultima 4 for graphics.  This was more of a something to do project during the height of Covid, and no actual game was ever started.

2021 - GGS (New SYSTEM TAKE 2)

Worked on all game-side aspects of creating a new system including data access layer and communications as well as re-engineering all the game engine components as well.  

This was also the first real project I had help; meaning, I actually hired someone to work with me, aka the R&D department was now a party of two, and it was a game changer!  Since then, I've hired three more.

2021 - HISTORICAL HORSE RACING

The first target product built on this new system was Grover's second rendition of Historical Horse Racing.  Essentially what that means is, the game determination (aka what you will win) is based on the outcomes of horse races that occurred in the past.

2021 - procedual puzzle RPG

This was my first foray into creating pixel graphics.  Not saying I'm Picasso but I've seen worse!  

This unnamed game combines RPG mechanics, with a unique puzzle mechanic, loosely with a slot machine spin mechanic, all rolled into a procedural seeded world complete with endless uniquely named/numbered areas.  

The idea was to have a group of special items somewhere within the world, and although not multiplayer, all players would be moving around the same world, and certain items would only be obtainable by the one player.  Once players collected them, they would win and the seed of the game would be reset.

There is a server component of this game, which I wrote with typescript and socket.io that uses SignalR to communicate with Unity.

The game is not finished, and I deliberately turned my attention away from it in March of 2021 to focus on other projects, but there is a chance I revisit this one at some point.

2022 - GDK

With my Team, we created an entirely new development kit for use by game developers to have a minimalist, streamlined, multi market/product framework which will ease the development process in the future and allow developers to focus solely on making great games.  Stock photo to the right.

2023 - Buy A bonus MECHANIC

Buy a Bonus is an all-new mechanic/way to play for the Electronic Pull Tab market that I championed.  This is obviously a common feature on-line at this point, so I started to explore the possibility of being able to implement such a thing in Grover's Pull Tab system.  I ended up pitching the method of how it could work with consideration to how the system currently works, and did the math and the programming relating to making it easy to implement into any future Pull Tab game.  The first two games that Buy a Bonus went into are now live in Ohio on over 2000 devices!

2023 - Pretty Sweet

Pretty Sweet is the culmination of a lot of work and is now officially released on Grover's new Class II platform which my team had a big part in creating.  For this game, I built a new engine from the ground up to give us the capability to create "Tumble" style games, and Pretty Sweet is the first complete game built using it.  I did all the design, programming and did all the work around the math.