From db0e4070218697e9034a257f4e631a4bfca7f3eb Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <jeffrey.freeman@syncleus.com>
Date: Sat, 26 Aug 2017 07:39:28 -0400
Subject: [PATCH] Changed most references from coffee to aether.

---
 InstallUNIX.sh                                |   2 +-
 README                                        |   2 +-
 coffee.ico => aether.ico                      | Bin
 aethermud.ini                                 |   2 +-
 guides/InstallationGuide.html                 |   8 +-
 guides/Programming.html                       |  36 ++---
 guides/WebServer.html                         |   2 +-
 .../{coffeemuddb.sql => aethermuddb.sql}      |   0
 ...emuddbaccess.sql => aethermuddbaccess.sql} |   0
 ...feemuddbderby.sql => aethermuddbderby.sql} |   0
 ...offeemuddbhsql.sql => aethermuddbhsql.sql} |   0
 ...feemuddbmssql.sql => aethermuddbmssql.sql} |   0
 ...feemuddbmysql.sql => aethermuddbmysql.sql} |   0
 ...emuddboracle.sql => aethermuddboracle.sql} |   0
 ...offeemuddbpsql.sql => aethermuddbpsql.sql} |   0
 ...offeemudibmdb2.sql => aethermudibmdb2.sql} |   0
 guides/refs/behav.html                        |   2 +-
 resources/help/arc_behaviors.ini              |   2 +-
 ...offeeanthem.script => aetheranthem.script} |   0
 .../Abilities/Archon/Archon_Metacraft.java    |   2 +-
 .../game/Abilities/Common/BuildingSkill.java  |  18 +--
 .../game/Abilities/Common/CraftingSkill.java  |   2 +-
 .../game/Abilities/Common/Hunting.java        |   2 +-
 .../game/Abilities/Common/Merchant.java       |  46 +++---
 .../game/Abilities/Druid/Chant_BrownMold.java |   2 +-
 .../game/Abilities/Druid/Chant_CallMate.java  |   2 +-
 .../Abilities/Druid/Chant_HowlersMoon.java    |   2 +-
 .../Abilities/Druid/Chant_KillerVine.java     |   2 +-
 .../Abilities/Druid/Chant_PoisonousVine.java  |   2 +-
 .../Abilities/Druid/Chant_SaplingWorkers.java |   2 +-
 .../Abilities/Druid/Chant_SenseWater.java     |   2 +-
 .../Druid/Chant_SpeakWithAnimals.java         |   2 +-
 .../Abilities/Druid/Chant_SummonAnimal.java   |   4 +-
 .../Druid/Chant_SummonDustdevil.java          |   2 +-
 .../Druid/Chant_SummonElemental.java          |   2 +-
 .../Abilities/Druid/Chant_SummonFlyTrap.java  |   2 +-
 .../Abilities/Druid/Chant_SummonMount.java    |   2 +-
 .../Druid/Chant_SummonRockGolem.java          |   2 +-
 .../Abilities/Druid/Chant_SummonSapling.java  |   2 +-
 .../Abilities/Druid/Chant_SummonVine.java     |   2 +-
 .../Abilities/Druid/Chant_VampireVine.java    |   2 +-
 .../game/Abilities/Druid/Chant_VineMass.java  |   2 +-
 .../game/Abilities/Druid/Druid_PackCall.java  |   2 +-
 .../Fighter/Fighter_CatchProjectile.java      |   2 +-
 .../game/Abilities/Languages/Semaphore.java   |   4 +-
 .../Abilities/Languages/SignLanguage.java     |   4 +-
 .../game/Abilities/Languages/StdLanguage.java |   4 +-
 .../game/Abilities/Languages/ThievesCant.java |   2 +-
 .../aethermud/game/Abilities/Misc/Age.java    |   4 +-
 .../game/Abilities/Misc/Pregnancy.java        |   4 +-
 .../game/Abilities/Misc/SoundEcho.java        |   8 +-
 .../Paladin/Paladin_SummonMount.java          |   2 +-
 .../Abilities/Prayers/Prayer_AnimateDead.java |   2 +-
 .../Prayers/Prayer_AnimateGhast.java          |   2 +-
 .../Prayers/Prayer_AnimateGhost.java          |   2 +-
 .../Prayers/Prayer_AnimateGhoul.java          |   2 +-
 .../Prayers/Prayer_AnimateMummy.java          |   2 +-
 .../Prayers/Prayer_AnimateSkeleton.java       |   2 +-
 .../Prayers/Prayer_AnimateSpectre.java        |   2 +-
 .../Prayers/Prayer_AnimateVampire.java        |   2 +-
 .../Prayers/Prayer_AnimateZombie.java         |   2 +-
 .../game/Abilities/Prayers/Prayer_Annul.java  |   4 +-
 .../Abilities/Prayers/Prayer_DailyBread.java  |   2 +-
 .../Abilities/Prayers/Prayer_Divorce.java     |   4 +-
 .../game/Abilities/Prayers/Prayer_Marry.java  |   6 +-
 .../Abilities/Prayers/Prayer_SenseTraps.java  |   2 +-
 .../Abilities/Prayers/Prayer_SnakeStaff.java  |   2 +-
 .../Prayers/Prayer_SummonElemental.java       |   2 +-
 .../game/Abilities/Prayers/Prayer_Tithe.java  |  10 +-
 .../Properties/Prop_ClosedDayNight.java       |   4 +-
 .../Properties/Prop_EnterAdjuster.java        |   2 +-
 .../Abilities/Properties/Prop_ItemSlot.java   |   4 +-
 .../Abilities/Properties/Prop_Retainable.java |  10 +-
 .../Properties/Prop_RoomForSale.java          |   4 +-
 .../Properties/Prop_TicketTaker.java          |  18 +--
 .../Abilities/Ranger/Ranger_FindWater.java    |   2 +-
 .../Abilities/Skills/Skill_CollectBounty.java |   6 +-
 .../Skills/Skill_HireCrewmember.java          |  10 +-
 .../game/Abilities/Songs/Skill_Befriend.java  |   2 +-
 .../Abilities/Songs/Skill_QuickChange.java    |   4 +-
 .../game/Abilities/Songs/Skill_Warrants.java  |   2 +-
 .../Abilities/Songs/Song_Comprehension.java   |   2 +-
 .../game/Abilities/Songs/Song_Thanks.java     |   6 +-
 .../game/Abilities/Spells/Spell_Clone.java    |   2 +-
 .../Spells/Spell_ComprehendLangs.java         |   2 +-
 .../Abilities/Spells/Spell_DemonGate.java     |   2 +-
 .../Abilities/Spells/Spell_DetectGold.java    |   2 +-
 .../Abilities/Spells/Spell_DetectTraps.java   |   2 +-
 .../Abilities/Spells/Spell_DetectWater.java   |   2 +-
 .../Abilities/Spells/Spell_FindFamiliar.java  |   2 +-
 .../Abilities/Spells/Spell_KnowValue.java     |   2 +-
 .../Abilities/Spells/Spell_LocateObject.java  |   2 +-
 .../game/Abilities/Spells/Spell_Phantasm.java |   2 +-
 .../Abilities/Spells/Spell_PhantomHound.java  |   2 +-
 .../Spells/Spell_PolymorphObject.java         |   4 +-
 .../Abilities/Spells/Spell_PryingEye.java     |   2 +-
 .../Abilities/Spells/Spell_RogueLimb.java     |   2 +-
 .../Abilities/Spells/Spell_Simulacrum.java    |   4 +-
 .../Abilities/Spells/Spell_SpyingStone.java   |   2 +-
 .../Abilities/Spells/Spell_SummonArmy.java    |   2 +-
 .../Abilities/Spells/Spell_SummonEnemy.java   |   2 +-
 .../Abilities/Spells/Spell_SummonFlyer.java   |   2 +-
 .../Abilities/Spells/Spell_SummonMonster.java |   2 +-
 .../Abilities/Spells/Spell_SummonSteed.java   |   2 +-
 .../Abilities/Spells/Spell_WatchfulHound.java |   2 +-
 .../game/Abilities/Spells/Spell_Wish.java     |   2 +-
 .../aethermud/game/Abilities/StdAbility.java  |   2 +-
 .../SuperPowers/Power_TrapSense.java          |   2 +-
 .../game/Abilities/Thief/Thief_Appraise.java  |   2 +-
 .../game/Abilities/Thief/Thief_Bribe.java     |  16 +-
 .../Abilities/Thief/Thief_Comprehension.java  |   2 +-
 .../Abilities/Thief/Thief_ContractHit.java    |   8 +-
 .../game/Abilities/Thief/Thief_Embezzle.java  |   6 +-
 .../game/Abilities/Thief/Thief_Forgery.java   |   4 +-
 .../game/Abilities/Thief/Thief_FrameMark.java |   8 +-
 .../Abilities/Thief/Thief_IdentifyBombs.java  |   2 +-
 .../game/Abilities/Thief/Thief_Kamikaze.java  |  10 +-
 .../Abilities/Thief/Thief_LocateAlcohol.java  |   2 +-
 .../Abilities/Thief/Thief_Panhandling.java    |   6 +-
 .../game/Abilities/Thief/Thief_PayOff.java    |  16 +-
 .../Abilities/Thief/Thief_PiecesOfEight.java  |   8 +-
 .../Abilities/Thief/Thief_PirateFamiliar.java |   2 +-
 .../game/Abilities/Thief/Thief_Plunder.java   |   8 +-
 .../Abilities/Thief/Thief_PubContacts.java    |  12 +-
 .../game/Abilities/Thief/Thief_Racketeer.java |   8 +-
 .../game/Abilities/Thief/Thief_Robbery.java   |   8 +-
 .../Abilities/Thief/Thief_SilentGold.java     |   6 +-
 .../game/Abilities/Thief/Thief_Surrender.java |  10 +-
 .../game/Abilities/Thief/Thief_Swipe.java     |  14 +-
 .../game/Abilities/Thief/Thief_Wenching.java  |  12 +-
 .../aethermud/game/Areas/StdArea.java         |  24 +--
 .../game/Areas/StdBoardableShip.java          |   4 +-
 .../aethermud/game/Behaviors/Arrest.java      |   2 +-
 .../game/Behaviors/BribeGateGuard.java        |  38 ++---
 .../aethermud/game/Behaviors/Concierge.java   |  10 +-
 .../aethermud/game/Behaviors/Hireling.java    |  10 +-
 .../game/Behaviors/ItemGenerator.java         |   2 +-
 .../game/Behaviors/ItemIdentifier.java        |   8 +-
 .../aethermud/game/Behaviors/ItemMender.java  |   8 +-
 .../game/Behaviors/ItemRefitter.java          |   8 +-
 .../game/Behaviors/MoneyChanger.java          |  24 +--
 .../aethermud/game/Behaviors/Nanny.java       |  28 ++--
 .../aethermud/game/Behaviors/PokerDealer.java |  42 ++---
 .../aethermud/game/Behaviors/RandomItems.java |   6 +-
 .../game/Behaviors/RandomMonsters.java        |   4 +-
 .../game/Behaviors/TaxCollector.java          |  22 +--
 .../game/CharClasses/GenCharClass.java        |  40 ++---
 .../aethermud/game/CharClasses/Pirate.java    |   2 +-
 .../game/CharClasses/StdCharClass.java        |  10 +-
 .../aethermud/game/Commands/Affect.java       |   2 +-
 .../aethermud/game/Commands/Auction.java      |  44 +++---
 .../syncleus/aethermud/game/Commands/Bid.java |   8 +-
 .../aethermud/game/Commands/Borrow.java       |   4 +-
 .../syncleus/aethermud/game/Commands/Buy.java |   6 +-
 .../aethermud/game/Commands/Catalog.java      |   8 +-
 .../aethermud/game/Commands/ClanCreate.java   |   6 +-
 .../aethermud/game/Commands/Compare.java      |   4 +-
 .../aethermud/game/Commands/Create.java       |   4 +-
 .../aethermud/game/Commands/Deposit.java      |   2 +-
 .../aethermud/game/Commands/Deviations.java   |   4 +-
 .../aethermud/game/Commands/Export.java       |  36 ++---
 .../aethermud/game/Commands/GModify.java      |  10 +-
 .../aethermud/game/Commands/GTell.java        |   2 +-
 .../aethermud/game/Commands/Import.java       |  74 ++++-----
 .../aethermud/game/Commands/Inventory.java    |   4 +-
 .../aethermud/game/Commands/ListCmd.java      |  26 +--
 .../aethermud/game/Commands/Merge.java        |   6 +-
 .../aethermud/game/Commands/Modify.java       |  42 ++---
 .../aethermud/game/Commands/Questwins.java    |   4 +-
 .../aethermud/game/Commands/Reset.java        |  16 +-
 .../syncleus/aethermud/game/Commands/Say.java |   4 +-
 .../aethermud/game/Commands/Split.java        |   8 +-
 .../aethermud/game/Commands/Stat.java         |  98 ++++++------
 .../aethermud/game/Commands/Test.java         |   6 +-
 .../aethermud/game/Commands/Train.java        |   4 +-
 .../aethermud/game/Commands/Unload.java       |   2 +-
 .../aethermud/game/Commands/View.java         |   6 +-
 .../aethermud/game/Commands/Where.java        |   2 +-
 .../aethermud/game/Commands/Withdraw.java     |   6 +-
 ...CoffeeShop.java => AuctionAetherShop.java} |  14 +-
 ...CoffeeShop.java => DefaultAetherShop.java} |  34 ++--
 ...bleRow.java => DefaultAetherTableRow.java} |   8 +-
 .../aethermud/game/Common/DefaultClan.java    |   4 +-
 .../aethermud/game/Common/DefaultFaction.java |   2 +-
 .../aethermud/game/Common/DefaultLawSet.java  |  12 +-
 .../game/Common/DefaultPlayerStats.java       |   2 +-
 .../aethermud/game/Common/DefaultQuest.java   |  14 +-
 .../game/Common/DefaultScriptingEngine.java   | 148 +++++++++---------
 .../aethermud/game/Common/DefaultSession.java |  30 ++--
 .../{CoffeeShop.java => AetherShop.java}      |  28 ++--
 ...offeeTableRow.java => AetherTableRow.java} |  30 ++--
 .../aethermud/game/Exits/GenExit.java         |   8 +-
 .../aethermud/game/Items/Armor/GenArmor.java  |  12 +-
 .../game/Items/Armor/GenThinArmor.java        |  12 +-
 .../game/Items/Basic/GenAmmunition.java       |   4 +-
 .../aethermud/game/Items/Basic/GenBook.java   |  12 +-
 .../aethermud/game/Items/Basic/GenCage.java   |  12 +-
 .../game/Items/Basic/GenCageRideable.java     |  12 +-
 .../aethermud/game/Items/Basic/GenCaged.java  |   6 +-
 .../aethermud/game/Items/Basic/GenCigar.java  |  12 +-
 .../aethermud/game/Items/Basic/GenCoins.java  |  16 +-
 .../game/Items/Basic/GenContainer.java        |  12 +-
 .../game/Items/Basic/GenDissertation.java     |  12 +-
 .../aethermud/game/Items/Basic/GenDrink.java  |  12 +-
 .../aethermud/game/Items/Basic/GenFood.java   |  12 +-
 .../game/Items/Basic/GenGrapples.java         |  12 +-
 .../aethermud/game/Items/Basic/GenItem.java   |  12 +-
 .../game/Items/Basic/GenJournal.java          |  12 +-
 .../game/Items/Basic/GenLawBook.java          |  12 +-
 .../game/Items/Basic/GenLightSource.java      |  12 +-
 .../aethermud/game/Items/Basic/GenLimb.java   |  12 +-
 .../aethermud/game/Items/Basic/GenMap.java    |  12 +-
 .../game/Items/Basic/GenPackagedItems.java    |   4 +-
 .../game/Items/Basic/GenPackagedVariety.java  |   6 +-
 .../game/Items/Basic/GenPerfume.java          |  12 +-
 .../aethermud/game/Items/Basic/GenPortal.java |  12 +-
 .../aethermud/game/Items/Basic/GenRecipe.java |   8 +-
 .../game/Items/Basic/GenRideable.java         |  12 +-
 .../game/Items/Basic/GenSailingShip.java      |  10 +-
 .../game/Items/Basic/GenSpaceBody.java        |  12 +-
 .../aethermud/game/Items/Basic/GenTitle.java  |  12 +-
 .../aethermud/game/Items/Basic/GenTub.java    |  12 +-
 .../game/Items/Basic/GenWallpaper.java        |   4 +-
 .../game/Items/Basic/StdBoardable.java        |  10 +-
 .../aethermud/game/Items/Basic/StdCoins.java  |   6 +-
 .../aethermud/game/Items/Basic/StdItem.java   |   2 +-
 .../aethermud/game/Items/Basic/StdTitle.java  |   4 +-
 .../Items/BasicTech/GenElecContainer.java     |  12 +-
 .../game/Items/BasicTech/GenElecItem.java     |  12 +-
 .../game/Items/BasicTech/GenElecPanel.java    |  12 +-
 .../game/Items/BasicTech/GenElecWeapon.java   |  12 +-
 .../Items/BasicTech/GenPersonalShield.java    |  12 +-
 .../game/Items/BasicTech/GenSpaceShip.java    |  10 +-
 .../game/Items/BasicTech/GenSpaceTech.java    |  12 +-
 .../game/Items/BasicTech/GenTechItem.java     |  12 +-
 .../game/Items/BasicTech/GenTickerShield.java |  12 +-
 .../game/Items/BasicTech/GenTriCorder.java    |  12 +-
 .../game/Items/ClanItems/GenClanApron.java    |  12 +-
 .../game/Items/ClanItems/GenClanCard.java     |  12 +-
 .../ClanItems/GenClanCommonContainer.java     |  12 +-
 .../Items/ClanItems/GenClanCommonItem.java    |  12 +-
 .../Items/ClanItems/GenClanContainer.java     |  12 +-
 .../Items/ClanItems/GenClanDonationList.java  |  12 +-
 .../game/Items/ClanItems/GenClanFlag.java     |  12 +-
 .../game/Items/ClanItems/GenClanItem.java     |  12 +-
 .../game/Items/ClanItems/GenClanPamphlet.java |  12 +-
 .../Items/ClanItems/GenClanSpecialItem.java   |  12 +-
 .../game/Items/CompTech/GenCompBattery.java   |  12 +-
 .../game/Items/CompTech/GenCompGenerator.java |  12 +-
 .../Items/CompTech/GenComputerConsole.java    |  12 +-
 .../game/Items/CompTech/GenElecCompItem.java  |  12 +-
 .../Items/CompTech/GenElecCompSensor.java     |  12 +-
 .../Items/CompTech/GenFuellessGenerator.java  |  12 +-
 .../game/Items/CompTech/GenShipEngine.java    |  12 +-
 .../game/Items/CompTech/GenShipPanel.java     |  12 +-
 .../CompTech/GenShipShieldGenerator.java      |  12 +-
 .../game/Items/CompTech/GenShipThruster.java  |  12 +-
 .../game/Items/CompTech/GenShipWeapon.java    |  12 +-
 .../game/Items/CompTech/GenSpaceDrive.java    |  12 +-
 .../game/Items/MiscMagic/GenPill.java         |  12 +-
 .../game/Items/MiscMagic/GenPlayingCard.java  |  12 +-
 .../game/Items/MiscMagic/GenPotion.java       |  12 +-
 .../game/Items/MiscMagic/GenPowder.java       |  12 +-
 .../game/Items/MiscMagic/GenScroll.java       |  12 +-
 .../game/Items/MiscMagic/GenSuperPill.java    |   6 +-
 .../game/Items/MiscMagic/GenWand.java         |  12 +-
 .../game/Items/MiscMagic/GoodyBag.java        |   6 +-
 .../game/Items/MiscMagic/ManualArchon.java    |   2 +-
 .../game/Items/MiscMagic/ManualClasses.java   |   4 +-
 .../game/Items/Software/GenSoftware.java      |  12 +-
 .../game/Items/Weapons/GenBoffWeapon.java     |  12 +-
 .../aethermud/game/Items/Weapons/GenBow.java  |  12 +-
 .../game/Items/Weapons/GenHandBow.java        |  12 +-
 .../game/Items/Weapons/GenLasso.java          |  12 +-
 .../aethermud/game/Items/Weapons/GenNet.java  |  12 +-
 .../game/Items/Weapons/GenSiegeWeapon.java    |  12 +-
 .../game/Items/Weapons/GenSling.java          |  12 +-
 .../game/Items/Weapons/GenSpear.java          |  12 +-
 .../game/Items/Weapons/GenWeapon.java         |  12 +-
 .../game/Libraries/Achievements.java          |  24 +--
 .../{CoffeeFilter.java => AetherFilter.java}  |  16 +-
 .../{CoffeeLevels.java => AetherLevels.java}  |   6 +-
 .../{CoffeeMaker.java => AetherMaker.java}    | 118 +++++++-------
 .../{CoffeeShops.java => AetherShops.java}    |  72 ++++-----
 .../{CoffeeTables.java => AetherTables.java}  |  20 +--
 .../{CoffeeTime.java => AetherTime.java}      |   4 +-
 ...offeeUtensils.java => AetherUtensils.java} |  18 +--
 .../aethermud/game/Libraries/BeanCounter.java |   4 +-
 .../aethermud/game/Libraries/CMCatalog.java   |  24 +--
 .../aethermud/game/Libraries/CMChannels.java  |   2 +-
 .../aethermud/game/Libraries/CMGenEditor.java |  46 +++---
 .../aethermud/game/Libraries/CMJournals.java  |  10 +-
 .../aethermud/game/Libraries/CMMap.java       |  28 ++--
 .../aethermud/game/Libraries/CMPlayers.java   |   4 +-
 .../aethermud/game/Libraries/CMProtocols.java |   6 +-
 .../game/Libraries/CharCreation.java          |  10 +-
 .../game/Libraries/ColumbiaUniv.java          |  10 +-
 .../aethermud/game/Libraries/CommonMsgs.java  |  12 +-
 .../game/Libraries/EnglishParser.java         |  54 +++----
 .../aethermud/game/Libraries/MUDFight.java    |  12 +-
 .../aethermud/game/Libraries/MUDHelp.java     |  14 +-
 .../aethermud/game/Libraries/MUDLaw.java      |   2 +-
 .../game/Libraries/MUDPercolator.java         |  18 +--
 .../aethermud/game/Libraries/MUDZapper.java   |   8 +-
 .../aethermud/game/Libraries/Quests.java      |   8 +-
 .../aethermud/game/Libraries/SMTPclient.java  |   2 +-
 .../game/Libraries/SlaveryParser.java         |  14 +-
 .../aethermud/game/Libraries/Socials.java     |  34 ++--
 .../aethermud/game/Libraries/XMLManager.java  |   2 +-
 .../Libraries/interfaces/DatabaseEngine.java  |   8 +-
 .../Libraries/interfaces/ShoppingLibrary.java |   6 +-
 .../aethermud/game/Locales/StdRoom.java       |  10 +-
 .../aethermud/game/MOBS/GenAuctioneer.java    |  14 +-
 .../aethermud/game/MOBS/GenBanker.java        |  14 +-
 .../aethermud/game/MOBS/GenDeity.java         |  14 +-
 .../syncleus/aethermud/game/MOBS/GenMob.java  |  14 +-
 .../aethermud/game/MOBS/GenPostman.java       |  14 +-
 .../aethermud/game/MOBS/GenRideable.java      |  14 +-
 .../aethermud/game/MOBS/GenShopkeeper.java    |  14 +-
 .../aethermud/game/MOBS/StdAuctioneer.java    | 122 +++++++--------
 .../aethermud/game/MOBS/StdBanker.java        |  98 ++++++------
 .../syncleus/aethermud/game/MOBS/StdMOB.java  |  10 +-
 .../aethermud/game/MOBS/StdPostman.java       |  48 +++---
 .../aethermud/game/MOBS/StdShopKeeper.java    |  54 +++----
 .../aethermud/game/Races/GenRace.java         |  40 ++---
 .../aethermud/game/Races/StdRace.java         |  40 ++---
 ...feeTableRows.java => AetherTableRows.java} |  86 +++++-----
 .../aethermud/game/WebMacros/AreaData.java    |   6 +-
 .../game/WebMacros/AreaScriptNext.java        |   6 +-
 .../game/WebMacros/BankAccountInfo.java       |   6 +-
 .../game/WebMacros/ChannelBackLogNext.java    |   2 +-
 .../game/WebMacros/CharClassData.java         |  10 +-
 .../aethermud/game/WebMacros/ItemData.java    |   6 +-
 .../aethermud/game/WebMacros/MUDGrinder.java  |   2 +-
 .../aethermud/game/WebMacros/MobData.java     |   6 +-
 .../aethermud/game/WebMacros/PlayerData.java  |   2 +-
 .../aethermud/game/WebMacros/QuestMaker.java  |   4 +-
 .../aethermud/game/WebMacros/RaceData.java    |  10 +-
 .../aethermud/game/WebMacros/RoomData.java    |   6 +-
 .../aethermud/game/WebMacros/StdWebMacro.java |   2 +-
 .../game/WebMacros/WebServerVersion.java      |   2 +-
 .../game/WebMacros/grinder/GrinderAreas.java  |  24 +--
 .../game/WebMacros/grinder/GrinderMobs.java   |   2 +-
 .../WebMacros/grinder/GrinderPlayers.java     |   2 +-
 .../game/WebMacros/grinder/GrinderRaces.java  |   6 +-
 .../aethermud/game/application/MUD.java       |   2 +-
 .../aethermud/game/application/VFShell.java   |  12 +-
 .../syncleus/aethermud/game/core/CMLib.java   |  10 +-
 .../game/core/database/DBInterface.java       |   4 +-
 .../game/core/database/MOBloader.java         |   8 +-
 .../game/core/database/StatLoader.java        |  16 +-
 .../game/core/interfaces/ShopKeeper.java      |  10 +-
 .../game/core/intermud/IMudClient.java        |   4 +-
 .../core/intermud/cm1/commands/GetStat.java   |   4 +-
 .../core/intermud/cm1/commands/Listen.java    |   4 +-
 .../core/intermud/cm1/commands/SetStat.java   |   4 +-
 .../aethermud/game/core/smtp/MassMailer.java  |   2 +-
 .../game/core/smtp/ProcessSMTPrequest.java    |   8 +-
 .../web/interfaces/HTTPIOHandler.java         |   2 +-
 .../aethermud/web/server/WebServer.java       |   8 +-
 .../syncleus/aethermud/web/util/CWConfig.java |  20 +--
 web/admin/{coffeemud.ico => aethermud.ico}    | Bin
 web/admin/grinder/stats.cmvp                  |  24 +--
 web/common.ini                                |   6 +-
 web/pub/{coffeemud.css => aethermud.css}      |   0
 web/pub/{coffeemud.ico => aethermud.ico}      | Bin
 .../images/{coffeemud.ico => aethermud.ico}   | Bin
 367 files changed, 2025 insertions(+), 2021 deletions(-)
 rename coffee.ico => aether.ico (100%)
 rename guides/database/{coffeemuddb.sql => aethermuddb.sql} (100%)
 rename guides/database/{coffeemuddbaccess.sql => aethermuddbaccess.sql} (100%)
 rename guides/database/{coffeemuddbderby.sql => aethermuddbderby.sql} (100%)
 rename guides/database/{coffeemuddbhsql.sql => aethermuddbhsql.sql} (100%)
 rename guides/database/{coffeemuddbmssql.sql => aethermuddbmssql.sql} (100%)
 rename guides/database/{coffeemuddbmysql.sql => aethermuddbmysql.sql} (100%)
 rename guides/database/{coffeemuddboracle.sql => aethermuddboracle.sql} (100%)
 rename guides/database/{coffeemuddbpsql.sql => aethermuddbpsql.sql} (100%)
 rename guides/database/{coffeemudibmdb2.sql => aethermudibmdb2.sql} (100%)
 rename resources/progs/{coffeeanthem.script => aetheranthem.script} (100%)
 rename src/main/java/com/syncleus/aethermud/game/Common/{AuctionCoffeeShop.java => AuctionAetherShop.java} (94%)
 rename src/main/java/com/syncleus/aethermud/game/Common/{DefaultCoffeeShop.java => DefaultAetherShop.java} (95%)
 rename src/main/java/com/syncleus/aethermud/game/Common/{DefaultCoffeeTableRow.java => DefaultAetherTableRow.java} (97%)
 rename src/main/java/com/syncleus/aethermud/game/Common/interfaces/{CoffeeShop.java => AetherShop.java} (90%)
 rename src/main/java/com/syncleus/aethermud/game/Common/interfaces/{CoffeeTableRow.java => AetherTableRow.java} (84%)
 rename src/main/java/com/syncleus/aethermud/game/Libraries/{CoffeeFilter.java => AetherFilter.java} (99%)
 rename src/main/java/com/syncleus/aethermud/game/Libraries/{CoffeeLevels.java => AetherLevels.java} (99%)
 rename src/main/java/com/syncleus/aethermud/game/Libraries/{CoffeeMaker.java => AetherMaker.java} (98%)
 rename src/main/java/com/syncleus/aethermud/game/Libraries/{CoffeeShops.java => AetherShops.java} (96%)
 rename src/main/java/com/syncleus/aethermud/game/Libraries/{CoffeeTables.java => AetherTables.java} (90%)
 rename src/main/java/com/syncleus/aethermud/game/Libraries/{CoffeeTime.java => AetherTime.java} (99%)
 rename src/main/java/com/syncleus/aethermud/game/Libraries/{CoffeeUtensils.java => AetherUtensils.java} (98%)
 rename src/main/java/com/syncleus/aethermud/game/WebMacros/{CoffeeTableRows.java => AetherTableRows.java} (84%)
 rename web/admin/{coffeemud.ico => aethermud.ico} (100%)
 rename web/pub/{coffeemud.css => aethermud.css} (100%)
 rename web/pub/{coffeemud.ico => aethermud.ico} (100%)
 rename web/pub/images/{coffeemud.ico => aethermud.ico} (100%)

diff --git a/InstallUNIX.sh b/InstallUNIX.sh
index b69910cf2c..481e21b432 100644
--- a/InstallUNIX.sh
+++ b/InstallUNIX.sh
@@ -10,7 +10,7 @@ echo "I am going to ask you a few questions, and as you answer them I will creat
 sleep 1
 echo "* MAKE SURE YOU HAVE WRITE PERMISSION TO mudUNIX.sh *"
 sleep 1
-echo "***** MAKE SURE YOU ARE EXECUTING THIS SCRIPT FROM THE MAIN COFFEEMUD DIR (not source dir)*****"
+echo "***** MAKE SURE YOU ARE EXECUTING THIS SCRIPT FROM THE MAIN AETHERMUD DIR (not source dir)*****"
 
 sleep 2
 
diff --git a/README b/README
index fcf3526de1..75857ce8b8 100644
--- a/README
+++ b/README
@@ -27,7 +27,7 @@ Windows:
 mud.bat           : set JAVA_HOME, and execute this to run aethermud in windows
 make.bat          : set JAVA_HOME, and execute this to build aethermud in windows
 build.xml         : ANT build file for aethermud binaries
-coffee.ico        : Windows icon file for shortcuts
+aether.ico        : Windows icon file for shortcuts
 
 Linux:
 mudUNIX.sh        : Executing aethermud. (See installation guide)
diff --git a/coffee.ico b/aether.ico
similarity index 100%
rename from coffee.ico
rename to aether.ico
diff --git a/aethermud.ini b/aethermud.ini
index 05e29c6d0e..c43e5d4a3b 100644
--- a/aethermud.ini
+++ b/aethermud.ini
@@ -185,7 +185,7 @@ I3PORT=27766
 I3ROUTERS=204.209.44.3:8080:*i4
 
 ######################################################################
-# CoffeeInterMud 1 Settings
+# AetherInterMud 1 Settings
 ######################################################################
 
 # RUNCM1SERVER is run if first value is TRUE
diff --git a/guides/InstallationGuide.html b/guides/InstallationGuide.html
index 06854ba93e..2a514a9651 100644
--- a/guides/InstallationGuide.html
+++ b/guides/InstallationGuide.html
@@ -864,7 +864,7 @@ CHARCLASSES, RACES, COMMANDS, LOCALES, AREAS, EXITS, etc&nbsp;</span>
                         </td>
                     </tr>
                     <tr>
-                        <td valign="top">coffeeanthem.script<br/>
+                        <td valign="top">aetheranthem.script<br/>
                         </td>
                         <td valign="top">Sample MOBPROG script to make a mob sing
                             the AetherMud anthem every day. Added to mobs the same way
@@ -1567,8 +1567,8 @@ DBCONNECTIONS=1<br/>
                     </li>
                     <li>
                         <p>Create a user for the new database (user in this example
-                            is called coffee). As root, type "mysql" into the shell. Now enter:
-                            GRANT ALL ON aethermud.* TO coffee@localhost IDENTIFIED BY "password";
+                            is called aether). As root, type "mysql" into the shell. Now enter:
+                            GRANT ALL ON aethermud.* TO aether@localhost IDENTIFIED BY "password";
                             Enter a password for the user inside the quotes. Now type, "quit".</p>
                     </li>
                     <li>
@@ -1582,7 +1582,7 @@ DBCONNECTIONS=1<br/>
                     </li>
                     <li>
                         <p>Edit the following settings in AetherMud/aethermud.ini:</p>
-                        <pre>DBCLASS=com.mysql.jdbc.Driver<br/>DBSERVICE=jdbc:mysql://localhost/aethermud<br/>DBUSER=coffee<br/>DBPASS=password<br/>DBREUSE=TRUE<br/>DBPINGINTERVALMINS=60<br/>DBCONNECTIONS=4<br/></pre>
+                        <pre>DBCLASS=com.mysql.jdbc.Driver<br/>DBSERVICE=jdbc:mysql://localhost/aethermud<br/>DBUSER=aether<br/>DBPASS=password<br/>DBREUSE=TRUE<br/>DBPINGINTERVALMINS=60<br/>DBCONNECTIONS=4<br/></pre>
                         <p>(no quotes on the password here)<br/>
                             Save your changes and fire up AetherMud!</p>
                     </li>
diff --git a/guides/Programming.html b/guides/Programming.html
index 7937c4effc..046ababa9b 100644
--- a/guides/Programming.html
+++ b/guides/Programming.html
@@ -2070,15 +2070,15 @@
                         <td>Manage player lists</td>
                     </tr>
                     <tr>
-                        <td>CoffeeFilter</td>
+                        <td>AetherFilter</td>
                         <td>TelnetFilter</td>
-                        <td><code>coffeeFilter()</code></td>
+                        <td><code>aetherFilter()</code></td>
                         <td>Filters/transforms
                             text going to and from a player.
                         </td>
                     </tr>
                     <tr>
-                        <td>CoffeeLevels</td>
+                        <td>AetherLevels</td>
                         <td>ExpLevelLibrary</td>
                         <td><code>leveler()</code></td>
                         <td>Leveling and
@@ -2086,15 +2086,15 @@
                         </td>
                     </tr>
                     <tr>
-                        <td>CoffeeMaker</td>
+                        <td>AetherMaker</td>
                         <td>GenericBuilder</td>
-                        <td><code>coffeeMaker()</code></td>
+                        <td><code>aetherMaker()</code></td>
                         <td>Generic Mob/Item
-                            and CoffeeXML generators.
+                            and AetherXML generators.
                         </td>
                     </tr>
                     <tr>
-                        <td>CoffeeUtensils</td>
+                        <td>AetherUtensils</td>
                         <td>ProtocolsLibrary</td>
                         <td><code>protocol()</code></td>
                         <td>Special protocol
@@ -2102,23 +2102,23 @@
                         </td>
                     </tr>
                     <tr>
-                        <td>CoffeeShops</td>
+                        <td>AetherShops</td>
                         <td>ShoppingLibrary</td>
-                        <td><code>coffeeShops()</code></td>
+                        <td><code>aetherShops()</code></td>
                         <td>Handles
                             manipulation of shop inventories.
                         </td>
                     </tr>
                     <tr>
-                        <td>CoffeeTables</td>
+                        <td>AetherTables</td>
                         <td>StatisticsLibrary</td>
-                        <td><code>coffeeTables()</code></td>
+                        <td><code>aetherTables()</code></td>
                         <td>Maintains player
                             usage stats.
                         </td>
                     </tr>
                     <tr>
-                        <td>CoffeeTime</td>
+                        <td>AetherTime</td>
                         <td>TimeManager</td>
                         <td><code>time()</code></td>
                         <td>Real-life
@@ -2126,7 +2126,7 @@
                         </td>
                     </tr>
                     <tr>
-                        <td>CoffeeUtensils</td>
+                        <td>AetherUtensils</td>
                         <td>CMMiscUtils</td>
                         <td><code>utensils()</code></td>
                         <td>Misc stuff-- law,
@@ -2369,9 +2369,9 @@
                     </thead>
                     <tbody>
                     <tr>
-                        <td>AuctionCoffeeShop</td>
+                        <td>AuctionAetherShop</td>
                         <td>A special
-                            derivative of DefaultCoffeeShop for
+                            derivative of DefaultAetherShop for
                             auctioneers
                         </td>
                     </tr>
@@ -2438,13 +2438,13 @@
                         </td>
                     </tr>
                     <tr>
-                        <td>DefaultCoffeeShop</td>
+                        <td>DefaultAetherShop</td>
                         <td>Represents a
                             single shop store inventory.
                         </td>
                     </tr>
                     <tr>
-                        <td>DefaultCoffeeTableRow</td>
+                        <td>DefaultAetherTableRow</td>
                         <td>Represents a days
                             worth of game player usage statistics.
                         </td>
@@ -3832,7 +3832,7 @@ String, String)</span>
                     object access
                     method as shown below. The <code>getShop()</code>
                     method returns an instance of the
-                    com.syncleus.aethermud.game.Common.interfaces.CoffeeShop interface, which
+                    com.syncleus.aethermud.game.Common.interfaces.AetherShop interface, which
                     stores inventory for the shopkeepers. In creating the shopkeepers, you
                     will also need to specify the type of ShopKeeper.</p>
                 <pre>  setWhatIsSold( ShopKeeper.ONLYBASEINVENTORY );<br/><br/>  Weapon sword = (Weapon)CMClass.getWeapon( "Longsword" );<br/>  getShop().addStoreInventory( sword, 35, -1, this );<br/>  Armor mail = (Armor)CMClass.getArmor( "FullPlate" );<br/>  getShop().addStoreInventory( mail, 35, -1, this );<br/>  Item waterskin = CMClass.getItem( "Waterskin" );<br/>  getShop().addStoreInventory( waterskin, 35, -1, this );<br/></pre>
diff --git a/guides/WebServer.html b/guides/WebServer.html
index a075721ee5..fd8c0994c2 100644
--- a/guides/WebServer.html
+++ b/guides/WebServer.html
@@ -37,7 +37,7 @@
                     part of AetherMud; it uses HTTP 1.1 to communicate with a web browser.
                     In addition to being able to serve standard HTML web pages, it also
                     supports a simple server-processed form of HTML called <i>CMVP</i>
-                    (Coffee MUD Virtual Pages) - this allows the server to insert
+                    (Aether MUD Virtual Pages) - this allows the server to insert
                     information into the page before sending it to the browser. This
                     document assumes you have some familiarty with HTTP, mime types, and
                     stuff like that.</p>
diff --git a/guides/database/coffeemuddb.sql b/guides/database/aethermuddb.sql
similarity index 100%
rename from guides/database/coffeemuddb.sql
rename to guides/database/aethermuddb.sql
diff --git a/guides/database/coffeemuddbaccess.sql b/guides/database/aethermuddbaccess.sql
similarity index 100%
rename from guides/database/coffeemuddbaccess.sql
rename to guides/database/aethermuddbaccess.sql
diff --git a/guides/database/coffeemuddbderby.sql b/guides/database/aethermuddbderby.sql
similarity index 100%
rename from guides/database/coffeemuddbderby.sql
rename to guides/database/aethermuddbderby.sql
diff --git a/guides/database/coffeemuddbhsql.sql b/guides/database/aethermuddbhsql.sql
similarity index 100%
rename from guides/database/coffeemuddbhsql.sql
rename to guides/database/aethermuddbhsql.sql
diff --git a/guides/database/coffeemuddbmssql.sql b/guides/database/aethermuddbmssql.sql
similarity index 100%
rename from guides/database/coffeemuddbmssql.sql
rename to guides/database/aethermuddbmssql.sql
diff --git a/guides/database/coffeemuddbmysql.sql b/guides/database/aethermuddbmysql.sql
similarity index 100%
rename from guides/database/coffeemuddbmysql.sql
rename to guides/database/aethermuddbmysql.sql
diff --git a/guides/database/coffeemuddboracle.sql b/guides/database/aethermuddboracle.sql
similarity index 100%
rename from guides/database/coffeemuddboracle.sql
rename to guides/database/aethermuddboracle.sql
diff --git a/guides/database/coffeemuddbpsql.sql b/guides/database/aethermuddbpsql.sql
similarity index 100%
rename from guides/database/coffeemuddbpsql.sql
rename to guides/database/aethermuddbpsql.sql
diff --git a/guides/database/coffeemudibmdb2.sql b/guides/database/aethermudibmdb2.sql
similarity index 100%
rename from guides/database/coffeemudibmdb2.sql
rename to guides/database/aethermudibmdb2.sql
diff --git a/guides/refs/behav.html b/guides/refs/behav.html
index 3b881489a0..68a424b78e 100644
--- a/guides/refs/behav.html
+++ b/guides/refs/behav.html
@@ -720,7 +720,7 @@
 
                 <p>
                     <a name="Scriptable"><B>Scriptable</B></a>
-                <pre>Behavior   : Scriptable<BR>Targets    : MOBs, Items, Rooms<BR>Parameters : (see below)<BR>Example    : LOAD=progs/mrinfo.script~<BR>Description: <BR>This behavior allows the reactions and behaviors of the mob to be scripted. The<BR>parameter may be complete scripts, and/or LOAD commands as specified below. If<BR>you choose to use a file for your script, then each script command line must be<BR>terminated by a linefeed or a semicolon.  If you choose to put your entire<BR>script into the parameters, you must terminate EVERY line with a semicolon (;).<BR><BR>Multiple scripts with multiple triggers may be included.  Each script and<BR>trigger must be separated by the ~ character.  See examples in the<BR>resources/progs directory! <BR>Now to the script itself:<BR>The first line must be a trigger word followed by any parameters.  Valid<BR>triggers and parameters are as follows:<BR>LOAD=[SCRIPT PATH] - insert a new script from another file.  Ex:<BR>LOAD=progs/my.script~ <BR>GREET_PROG [PCT CHANCE] - When players enter the room, given the chance.<BR>ARRIVE_PROG [PCT CHANCE] - When the mob enters a new room, or enters the game.<BR>ALL_GREET_PROG [PCT CHANCE] - Same as GREET_PROG, but works with sneakers too.<BR>LOGIN_PROG [PCT CHANCE] - When players logs into the game, given the chance.<BR>LOGOFF_PROG [PCT CHANCE] - When players log out of the game, given the chance.<BR>LEVEL_PROG [PCT CHANCE] - When a player anywhere gains a level, given the<BR>chance.<BR>SPEECH_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When someone says the words.<BR>BRIBE_PROG [AMOUNT OF GOLD] - When the amount or better is given to the<BR>monster.<BR>GIVE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When something is given to the<BR>monster.<BR>RAND_PROG [PCT CHANCE] - Triggers at random, given the chance.<BR>ONCE_PROG - Triggers on the first occurrence, but never again (until reset).<BR>FIGHT_PROG [PCT CHANCE] - Triggers during combat, given the chance.<BR>ENTRY_PROG [PCT CHANCE] - Triggers whenever the monster enters a new room.<BR>EXIT_PROG [PCT CHANCE] - Triggers whenever anyone exits the room of the<BR>monster.<BR>DEATH_PROG - When the monster dies.<BR>KILL_PROG - When the monster kills.<BR>HITPRCNT_PROG [HP PCT] - When the monster reaches the hit points % remaining.<BR>MASK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When a mob performs an action<BR>with these words.<BR>IMASK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When this mob performs an<BR>action with these words.<BR>REGMASK_PROG (P) [EXACT PHRASE]/[REGULAR EXPRESSION] - When a mob performs an<BR>action matching.<BR>ACT_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When a mob performs an action<BR>with these words.<BR>SOCIAL_PROG [SOCIAL NAME] - When a mob performs the given social.<BR>CHANNEL_PROG [CHNAME] (P) [A PHRASE]/[ONE OR MORE WORDS] - When channels a<BR>message with these words.<BR>QUEST_TIME_PROG [QUEST NAME] [TIME LEFT] - When the running quest reaches the<BR>number of minutes left.<BR>TIME_PROG [LIST OF HOURS] - Mob runs program at listed hours of the day.<BR>DAY_PROG [LIST OF DAYS] - Mob runs program at listed days of the month.<BR>DELAY_PROG [LOW TICKS] [HIGH TICKS] - Mob runs program at the given interval<BR>range.<BR>LOOK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>looked at.<BR>LLOOK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>llooked at.<BR>GET_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>gotten.<BR>OPEN_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>opened.<BR>CLOSE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>closed.<BR>LOCK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>locked.<BR>UNLOCK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>unlocked.<BR>PUT_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is put in<BR>something.<BR>DROP_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>dropped.<BR>REMOVE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>removed.<BR>CONSUME_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>ate/drank.<BR>WEAR_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>worn/wielded.<BR>DAMAGE_PROG - When damage taken by mob or given by item. Item#2 is the weapon.<BR>$g will have the amount.<BR>BUY_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is bought<BR>(items only).<BR>SELL_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is sold.<BR>EXECMSG_PROG [MSG CODE] (P) [COMMAND WORDS] - When a msg of type msg code is<BR>executed. HELP MSG TYPES.<BR>CNCLMSG_PROG [MSG CODE] (P) [COMMAND WORDS] - Before a msg of type msg code is<BR>allowed. HELP MSG TYPES.<BR>FUNCTION_PROG [FUNCTION NAME] - declares a runnable function, with parms in $g,<BR>see MPCALLFUNC.<BR>*** NOTE Phrases for MASK_PROG, GIVE_PROG, GET_PROG, PUT_PROG, REMOVE_PROG,<BR>WEAR_PROG, BUY_PROG, SELL_PROG, and SPEECH_PROG must group words and phrases<BR>together using the "'" character, for instance 'a phrase' or 'multiple words'.<BR>The characteris unnecessary when put around single words 'word'.<BR><BR>*** NOTE If Scriptable is placed on an Item, triggers such as GET_PROG,<BR>DROP_PROG, WEAR_PROG, and REMOVE_PROG will only trigger when the scripted item<BR>is involved. <BR><BR>*** NOTE MASK_PROG and ACT_PROG will check commands as they appear to the mob<BR>with this behavior.  Consider perspective, vision, and word tense in light of<BR>this fact when wording your masks.  For instance, the purchase of a sword in a<BR>dark shop may be seen as 'Someone buys something from someone' instead of 'Bob<BR>buys a sword from Joe'.<BR><BR>Following this line is your script itself.  The commands are as follows:<BR>IF/ENDIF/ELSE Conditional evaluations, separated by AND/OR.  The IF statement<BR>can group conditions with () and use the following functions as part of its<BR>evaluation:<BR>- RAND([% CHANCE])    Random truth<BR>- HAS([CODE] [ITEM NAME])  if the given mob has the specified item.<BR>- HASNUM([CODE] [ITEM NAME] == [NUM])  the amount the given mob has of the<BR>item.<BR>- HASTITLE([CODE] [TITLE STR])  if the given mob has the give title.<BR>- WORN([CODE] [ITEM NAME])  if the given mob wears the specified item.<BR>- ISNPC([CODE])  if the given mob is a non-player.<BR>- ISPC([CODE])  if the given mob is a player.<BR>- ISPKILL([CODE])  if the given mob has playerkill flag on.<BR>- ISGOOD([CODE])  if the given mob is good.<BR>- ISNAME([CODE] [WORDS])  if the given item is named with given words.<BR>- CURRENCY([CODE] == [NAME])  if the native currency of the mob or coins is the<BR>name. Where == may be !=.<BR>- NUMMOBSINAREA([MOB NAME] == [NUM]) if comparison of number of mobs of that<BR>name in area. Where == may be !=, >, &lt;, &lt;=, &lt;=.<BR>- NUMMOBS([MOB NAME] == [NUM]) if comparison of number of mobs of that name in<BR>world. Where == may be !=, >, &lt;, &lt;=, &lt;=.<BR>- NUMRACEINAREA([MOB NAME] == [NUM]) if comparison of number of mobs of that<BR>name in area. Where == may be !=, >, &lt;, &lt;=, &lt;=.<BR>- NUMRACES([MOB NAME] == [NUM]) if comparison of number of mobs of that name in<BR>world. Where == may be !=, >, &lt;, &lt;=, &lt;=.<BR>- ISEVIL([CODE])  if the given mob is evil.<BR>- ISNEUTRAL([CODE])  if the given mob is neutral.<BR>- ISFIGHT([CODE])  if the given mob is fighting.<BR>- ISALIVE([CODE])  if the given mob is alive and available.<BR>- ISIMMORT([CODE])  if the given mob is an archon.<BR>- ISCHARMED([CODE])  if the given mob is charmed.<BR>- STRCONTAINS([STRING] [CODED WORDS])  is string contains coded words.  May use<BR>"" & | > &lt; ().<BR>- STAT([CODE] [STAT] == [VALUE]) if the given mob/item has a stat of value, !=<BR>is also valid.<BR>- GSTAT([CODE] [STAT] == [VALUE]) like STAT, but player data accessible. See<BR>Generic.java.<BR>- DATETIME([TIME/DAY/ETC] == [VALUE]) like STAT, but player data accessible.<BR>Where == may be >, &lt;, !=, >=, or &lt;=.<BR>- AFFECTED([CODE] [SPELL CLASS]) if the mob is affected by spell.<BR>- ISBEHAVE([CODE] [BEHAVIOR CLASS]) if the mob has a behavior.<BR>- ISFOLLOW([CODE])  if the given mob is following someone in the room.<BR>- ISSERVANT([CODE])  if the given mob is serving someone in the room.<BR>- HITPRCNT([CODE] == [% HITS])  if the given mob has the pct chance hit points.<BR> Where == may be >, &lt;, !=, >=, or &lt;=.<BR>- HASTATTOO([CODE] [TATTOONAME]) whether the given mob has the given tattoo.<BR>- INLOCALE([ROOM CLASS]) if the mob is in the given room type.<BR>- ISBIRTHDAY([CODE]) if the mobs birthday is today.<BR>- INROOM([ROOM ID/MOB NAME] == [ROOM ID/MOB NAME]) if the mob is in the given<BR>room.<BR>- MOOD([MOB NAME] == [MOOD NAME]) if the mob has a mood, and it is the one<BR>specified.<BR>- ISRECALL([MOB NAME]== [ROOM ID/MOB NAME]) is the mob is from the given room.<BR>- ISHERE([CODE]) if the mob/item in the same room as the scripted one.<BR>- INAREA([NAME]) if the scripted mob/item in room named by the parameters.<BR>- ISLIKE([CODE] [MASK]) if the mob/item meets the given zapper mask.  See<BR>ZAPPERMASKS for mask syntax<BR>- ISODD([AMT]) whether the given argument is an odd whole number<BR>- VAR([CODE] [VAR NAME] == [VALUE]) if the var for the given mob has value. <BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- FACTION([CODE] [FACT] == [VALUE]) if the faction for the given mob has value.<BR> Where == may be !=, >, &lt;, >=, &lt;=.<BR>- SEX([CODE] == [M/F/N]) evaluates sex.  Where == may also be !=.<BR>- POSITION([CODE] == [SLEEPING/STANDING/SITTING] Evaluates position.<BR>- LEVEL([CODE] == [LVL]) evaluates level.  Where == may be !=, &lt;, >, >=, &lt;=.<BR>- MATH([EXPR] == [EXPR]) evaluates expression.  Where == may be !=, &lt;, >, >=,<BR>&lt;=.<BR>- QUESTPOINTS([CODE] == [VAL]) evaluates questpoints.  Where == may be !=, &lt;,<BR>>, >=, &lt;=.<BR>- QVAR([QUEST] [CODE] == [VAL]) evaluates temp quest vars.  Where == may be !=,<BR>&lt;, >, >=, &lt;=.<BR>- TRAINS([CODE] == [VAL]) evaluates trains.  Where == may be !=, &lt;, >, >=, &lt;=.<BR>- PRACS([CODE] == [VAL]) evaluates pracs.  Where == may be !=, &lt;, >, >=, &lt;=.<BR>- CLASS([CODE] == [CLASS NAME]) evaluates class. Where == may be !=.<BR>- BASECLASS([CODE] == [CLASS NAME]) evaluates base class. Where == may be !=.<BR>- RACE([CODE] == [RACE NAME]) evaluates race. Where == may be !=.<BR>- RACECAT([CODE] == [RACE CAT NAME]) evaluates racial category. Where == may be<BR>!=.<BR>- GOLDAMT([CODE] == [AMT]) evaluates base gold or item value. Where == may be<BR>!=, >, &lt;, >=, &lt;=.<BR>- EXP([CODE] == [AMT]) evaluates experience points. Where == may be !=, >, &lt;,<BR>>=, &lt;=.<BR>- VALUE([CODE] [CURRENCY] == [AMT]) evaluates base value in given currency.<BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- IPADDRESS([CODE] == [ADDRESS]) evaluates ip address of player. Where == may<BR>be !=.<BR>- QUESTSCRIPTED([CODE] [QUEST NAME]) returns whether the code of the given name<BR>has a script from the given quest.<BR>- QUESTWINNER([CODE] [QUEST NAME]) returns whether the code of the given name<BR>has won the given quest.<BR>- QUESTMOB([NAME] [QUEST NAME]) returns whether the mob of the given name is a<BR>mob designated in the given quest.<BR>- QUESTOBJ([NAME] [QUEST NAME]) returns whether the item of the given name is<BR>an item designated in the given quest.<BR>- QUESTROOM([ROOMID] [QUEST NAME]) returns whether the item of the given name<BR>is an item designated in the given quest.<BR>- ISQUESTMOBALIVE([NAME/NUM] [QUEST NAME]) returns whether the mob, designated<BR>in the currently running quest, is alive.<BR>- ISTIME([HOUR#/DAY/DAWN/DUSK/NIGHT]) returns the time of day, or time region.<BR>- ISSEASON([WINTER/SPRING/SUMMER/FALL]) returns the season.<BR>- ISWEATHER([CLEAR/RAIN/SNOW/WINDY/ETC..]) returns the weather<BR>- ISMOON() returns whether the scriptor can see the moon<BR>- ISMOON([NEW/WAXCRESCENT/WAXQUARTER/WAXGIBBOUS/FULL/WANEGIBBOUS/ETC..]) check<BR>the moon type<BR>- ISDAY([DAY#]) returns the day of the month.<BR>- EVAL([CODE] == [VALUE/CODE])  if the code has value.  Where == may be !=, >,<BR>&lt;, >=, &lt;=.<BR>- NUMBER([VALUE/CODE]) whether the given code or value is a number.<BR>- RANDNUM([VALUE] == [MAX VALUE]) how the 1st code compares to rand 1..max<BR>code.<BR>- RAND0NUM([VALUE] == [MAX VALUE]) how the 1st code compares to rand 0..max<BR>code-1.<BR>- ROOMMOB([NUM] [NAME]) whether the NUMth mob in the room is named NAME.<BR>- ROOMITEM([NUM] [NAME]) whether the NUMth item in the room is named NAME.<BR>- NUMMOBSROOM([*/NAME] == [NUMBER]) compares the # of named mobs in room.  <BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- NUMPCSAREA(== [NUMBER]) compares the number of pcs in the area.   Where ==<BR>may be !=, >, &lt;, >=, &lt;=.<BR>- NUMPCSROOM(== [NUMBER]) compares the number of pcs in the room.   Where ==<BR>may be !=, >, &lt;, >=, &lt;=.<BR>- EXPLORED([CODE] [AREA/WORLD] == [NUMBER]) check % explored of code mob. <BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- NUMITEMSROOM(== [NUMBER]) compares the number of mobs in the room.   Where ==<BR>may be !=, >, &lt;, >=, &lt;=.<BR>- NUMITEMSMOB([NAME] == [NUMBER]) compares the number of items the mob has.  <BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- MOBITEM([MOBNAME] [NUM] [NAME]) whether the NUMth item owned by mob mobname<BR>is named NAME.<BR>- INCONTAINER([CODE] [CONTAINER/MOUNT]) whether the item is in container or<BR>mount.<BR>- ISABLE([CODE] [SKILL NAME]) whether the mob has the skill/ability.<BR>- ISOPEN([CODE/DIRECTION]) whether the container item, or direction name is<BR>open.<BR>- ISLOCKED([CODE/DIRECTION]) whether the container item, or direction name is<BR>locked.<BR>- STRIN([STRING] [STRING]) whether the second string appears as a whole word in<BR>the first.<BR>- CALLFUNC([FUNCTION] [PARM]..) returns whether the FUNCTION_PROG named returns<BR>a non-null.<BR>- DEITY([CODE] == [CLASS NAME]) evaluates a mobs deity. Where == may be !=.<BR>- CLAN([CODE] == [CLASS NAME]) evaluates a mobs clanid. Where == may be !=.<BR>- CLANRANK([CODE] == [NUMBER]) evaluates mobs rank.  Where == may be !=, &lt;, >,<BR>>=, &lt;=.<BR>- CLANDATA([CLAN] [VAR] == [STRING]) evaluates clan rank.  Where == may be !=,<BR>&lt;, >, >=, &lt;=.<BR>*** NOTES! The parenthesis are REQUIRED for the above!  The brackets should NOT<BR>be included, they are there to designate a parameter.  Where CODE above is one<BR>of the following: $n=source of the action, $i=scripted mob, $t=target,<BR>$o=item1, $p=item2, $w=owner of item1, $W=owner of item2.<BR><BR>Now we get to the executed commands.  They are as follows:<BR>FOR $X = [START] to [FINISH] - loops. X must be 0-9.  End with NEXT by itself.<BR>SWITCH/CASE/ENDSWITCH - act as a multiple if/elseif/elseif....<BR>MPASOUND [TEXT] - a noisy emote that goes to all adjacent rooms.<BR>MPECHO [TEXT] - an emote<BR>MPSLAY [MOB NAME] - utterly kill the target.<BR>MPJUNK [ITEM] - destroy the given item from the monsters inventory.<BR>MPMLOAD [MOB NAME] - create an instance of the given mob name.<BR>MPOLOAD [ITEM NAME] - create an instanceof the given item, give it to the mob.<BR>MPOLOADROOM [ITEM NAME] - create an instanceof the given item, drop it in the<BR>room.<BR>MPMLOAD FROMFILE [CMARE FILE] [MOB NAME] - create a given mob name from a file.<BR>MPOLOAD FROMFILE [CMARE FILE] [ITEM NAME] - create an item from a file, give it<BR>to the mob.<BR>MPOLOADROOM FROMFILE [CMARE FILE]  [ITEM NAME] - create an item from a file,<BR>drop it in the room.<BR>MPECHOAT [MOB/ROOM/AREA/WORLD] [TEXT] - emote to the given target.<BR>MPECHOAROUND [TEXT] - emotes to everyone in room but the source of the trigger.<BR>MPCAST [SPELL] [MOB NAME] - casts the given spell at the given target.<BR>MPKILL [MOB NAME] - attack the given target.<BR>MPEXP [MOB NAME] [EXP or TNL%] - grants amount of exp to mob.<BR>MPQUESTPOINTS [MOB NAME] [QPS] - sets mobs amount of questpoints. Prefix QPS<BR>with ++ or -- to adjust only.<BR>MPTRAINS [MOB NAME] [TRAINS] - sets mobs amount of trains. Prefix TRAINS with<BR>++ or -- to adjust only.<BR>MPPRACS [MOB NAME] [PRACS] - sets mobs amount of pracs. Prefix PRACS with ++ or<BR>-- to adjust only.<BR>MPPURGE [ITEM/MOB NAME] - destroy the given target item or mob.<BR>MPUNAFFECT [MOB NAME] [ALL/SKILL NAME]- removes given affects from the mob.<BR>MPGOTO [ROOM ID/NAME/DESC] - take the monster to the given room.<BR>MPAT [ROOM ID/NAME/DESC] [COMMAND] - do a command at the given room.<BR>MPSET [MOB/ITEM] [VAR NAME] [VALUE] - use with care! sets a stat for a mob or<BR>item.<BR>MPGSET [MOB/ITEM] [VAR NAME] [VALUE] - like MPSET but player data accessible.<BR>See GSTAT.<BR>MPTRANSFER [ALL/MOB NAME] [ROOM ID/NAME/DESC] - transfer mobs to the given<BR>room.<BR>MPBEACON [ROOM ID/NAME/DESC] [ALL/MOB NAME] - Makes given room start room for<BR>players.<BR>MPFORCE [MOB NAME] [COMMAND] - force the given mob to do the given command.<BR>MPPROMPT [PC NAME] [VARIABLE NAME] [PROMPT].  Store user entered value in<BR>variable.  See Guide.<BR>MPCONFIRM [PC NAME] [VARIABLE NAME] [DEFAULT VALUE] [PROMPT].  Y or N.  See<BR>Guide.<BR>MPCHOOSE [PC NAME] [VARIABLE NAME] [CHOICES] [DEFAULT VALUE] [PROMPT].  Hotkey<BR>choices.  See Guide.<BR>MPSCRIPT [MOB/ITEM] ([FLAGS]) [SCRIPT] - adds a quest Scriptable to the target,<BR>flags GLOBAL INDIVIDUAL SAVABLE EXECUTE.<BR>MPSETVAR [MOB NAME] [VAR NAME] [VALUE] - set a variable for the given mob. <BR>Value may be ++, --, or preceded by +,-,*,or /.<BR>MPENDQUEST [QUEST NAME/MOB NAME] - this command will shutdown the given quest,<BR>or remove quest scripts from given mob.<BR>MPSTARTQUEST [QUEST NAME] - this command will start the quest of the given<BR>name.<BR>MPQUESTWIN [MOB NAME] [QUEST NAME] - declares the mob a winner of the given<BR>quest.<BR>MPSTOP [MOB NAME] - forces mob to stop fighting, or performing common skills.<BR>MPCALLFUNC [FUNC NAME] [PARMS...] - executes a FUNCTON_PROG already declared.<BR>MPALARM [TICKTIME] [COMMAND] - executes COMMAND after time has elapsed.<BR>MPNOTRIGGER [TRIGGER NAME] [MILISECS]- this command will prevent given trigger<BR>for given miliseconds.<BR>MPFACTION [MOB] [FACTION] [VALUE] - changes faction value for given mob. Value<BR>is number, range, or +NUM, --NUM.<BR>MPWHILE ([IF CONDITION]) [COMMAND] - repeatedly executes commmand.<BR>MPDAMAGE [MOB/ITEM] [MIN] [MAX] (KILL)- does random damage to the target. Kills<BR>only when KILL parm given.<BR>MPREJUV AREA/ROOM/[ROOMID]/[AREAID] (ITEMS/MOBS) - rejuv dead mobs, lost items<BR>from area or room<BR>MPRESET AREA/ROOM/[ROOMID]/[AREAID] - reload an area or room from the database<BR>MPLOG ERROR/INFO/DEBUG HEADER MESSAGE - add an entry to the aethermud server<BR>log<BR>MPCHANNEL (!)[CHANNEL] MESSAGE - send a message to a channel<BR>MPTRACKTO [MOB NAME] - forces the mob to track down the given mob.<BR>MPWALKTO [MOB NAME] - forces the mob to track down the given mob, land surface<BR>only.<BR>MPAFFECT [SPELL] [MOB NAME] [PARMS] - automatically casts a spell on a mob.<BR>MPBEHAVE [BEHAVIOR] [MOB NAME] [PARMS] - adds a behavior to the mob.<BR>MPUNBEHAVE [BEHAVIOR] [MOB NAME] - removes a behavior from a  mob. <BR>MPTATTOO [MOB] (-)[TATTOONAME] - adds or removes the given tattoo for the mob. <BR>MPPLAYERCLASS [MOB] [CCLASS ID] ([LVL])... - changes current char class &<BR>optionally level.<BR>MPTITLE [MOB] (-) [TITLE] - adds or removes the given title string from the<BR>mob.<BR>MPENABLE [MOB] [ABILITY NAME] [PROF] [STR] - adds a new skill to the mob, or<BR>mods prof. w/++,--.<BR>MPDISABLE [MOB] [ABILITY NAME] - removes a skill from the mob.<BR>MPSAVEVAR [MOB NAME] [VAR NAME] - saves the variable set using MPSETVAR to the<BR>database.<BR>MPLOADVAR [MOB NAME] [VAR NAME] - loads the variable from the database.<BR>MPM2I2M [MOB/ITEM] - this strange command turns a mob into an item and back<BR>into a mob<BR>MPHIDE [MOB/ITEM/EXIT] - makes the target undetectable by any means.<BR>MPUNHIDE [MOB/ITEM/EXIT] - reverses the affects of MPHIDE -- does not affect<BR>Hide or other skills.<BR>MPOPEN [ITEM/EXIT] - opens a closed container or door.<BR>MPCLOSE [ITEM/EXIT] - closes an open container or door.<BR>MPLOCK [ITEM/EXIT] - closes and locks a lockable container or door.<BR>MPUNLOCK [ITEM/EXIT] - unlocks a locked container or door, but does not open.<BR>MPSETCLANDATA [CLAN] [VAR] [VALUE] - changes a datum about the given clan.<BR>MPARGSET [$VAR] [VALUE] - changes internal $(i,n,t,0,1,..9) object to one<BR>specified by value.<BR>MPLOADQUESTOBJ [QUEST] [QVARNAME] [$VAR] - loads quest obj into internal<BR>$(i,n,t,0,1,..9) object.<BR>MPUNLOADSCRIPT [SCRIPT FILE NAME] - unloads a file script from the resources<BR>cache for refreshing<BR>MPQSET [QUEST] [QVARNAME] [VALUE] - set temp quest var to given value.<BR>BREAK -- return/break out of the current if condition or program script. <BR>RETURN [OPTIONAL STRING] - exits the existing script, returning the string<BR>given.<BR>&lt;SCRIPT> - embed Javascript in Scriptable event.  Must be closed with<BR>&lt;/SCRIPT>.<BR>[COMMAND] [PARMS]- any valid coffee mud command!<BR>** NOTES! For those commands which have multiple parameters (specifically MPAT,<BR>MPFORCE, MPCAST, MPECHOAT, you must use "'" characters in order to group any<BR>words in the first parameter of those commands.  Inside your command<BR>parameters, whether it be text, or even when specifying MOB or ITEM names, you<BR>may use any of the following freely:<BR>$a - name of the area the monsters in<BR>$b - name of last item/mob loaded w/mmpload/mpoload<BR>$B - display text of last item/mob loaded w/mmpload/mpoload<BR>$c - random npc/pc inhabitants name<BR>$C - random npc/pc inhabitants name<BR>$i - monsters name<BR>$I - monsters display text<BR>$n - source of triggers name<BR>$N - source of triggers name<BR>$t - target of triggers name<BR>$T - target of triggers name<BR>$r - random pc inhabitants name<BR>$R - random pc inhabitants name<BR>$j - he/she of the monster<BR>$e - he/she of the trigger source<BR>$d - title of monsters room location<BR>$D - long desc of monsters room location<BR>$f - name of the person monster follows<BR>$E - he/she of the trigger target<BR>$F - he/she of the person monster follows<BR>$g - lowercase form of the message from a MPCALLFUNC, MASK_PROG or SPEECH_PROG.<BR>$G - uppercase form of the message from a MPCALLFUNC, MASK_PROG or SPEECH_PROG.<BR>$J - he/she of a random pc inhabitant<BR>$k - his/her of the monster<BR>$l - list of all mobs (excluding monster). See "." syntax below.<BR>$L - list of all Items in room. See "." syntax below.<BR>$m - his/her of the trigger source<BR>$M - his/her of the trigger target<BR>$K - his/her of a random pc inhabitant<BR>$y - sir/madam of the trigger source<BR>$Y - sir/madam of the trigger target<BR>$o - item1 name<BR>$O - item1 name<BR>$p - item2 name<BR>$P - item2 name<BR>$w - owner of item1s name<BR>$W - owner of item2s name<BR>$x - random valid exit's direction<BR>$X - random valid exit's name<BR>$xN- north exit's name<BR>$0..$9- temporary variables set by other commands.<BR><BR>$&lt;[CODE] [VAR NAME]> - the variable of the given name, of the given code. <BR>Where code is $i, $n, $t, $o, or $p.  See MPSETVAR.<BR><BR>${[NUM] [QUEST NAME]} - a mob name from the given quest, if the quest is<BR>running. The number corresponds to the order in which mobs were designated in<BR>the quest script. Counting starts at 1.<BR><BR>$[[NUM] [QUEST NAME]] - an item name from the given quest, if the quest is<BR>running. The number corresponds to the order in which items were designated in<BR>the quest script. Counting starts at 1.<BR><BR>$%FUNCTION(PARM1 PARM2..)% - replace this code with a value from one of the<BR>internal functions.  While the names are the same as the eval functions above,<BR>their parameters will be slightly different.  The functions which may be<BR>included in this code include the following:<BR>- RAND() random number between 1 and 100.<BR>- HAS([CODE])  name of a random item in given mobs inventory.<BR>- HASNUM([CODE] [ITEM])  number of the given items in given mobs inventory.<BR>- WORN([CODE])  name of a random worn item in given mobs inventory.<BR>- ISNPC([CODE])  not implemented.<BR>- ISPC([CODE])  not implemented.<BR>- ISGOOD([CODE])  returns the alignment string of the given mob.<BR>- ISNAME([CODE])  Returns the real/full name of the given object.<BR>- CURRENCY([CODE])  Returns the native currency of the given object.<BR>- MATH([EXPR]) returns evaluated mathematical expressions. +-*\<BR>- MOOD([MOB NAME]) the given mobs mood.<BR>- NUMMOBSINAREA([MOB NAME]) number of mobs in area matching mask.<BR>- NUMMOBS([MOB NAME]) number of mobs in world matching mask.<BR>- NUMRACEINAREA([MOB NAME]) number of mobs in area matching race.<BR>- NUMRACES([MOB NAME]) number of mobs in world matching race.<BR>- ISEVIL([CODE])  alignment number of the given mob.<BR>- ISNEUTRAL([CODE])  short alignment string of the given mob.<BR>- ISFIGHT([CODE])  name of the mob the given mob is fighting.<BR>- ISALIVE([CODE])  health of the given mob.<BR>- ISIMMORT([CODE])  not implemented.<BR>- ISBIRTHDAY([CODE]) returns birthday of the mob<BR>- ISCHARMED([CODE])  name of the charm spell the mob is under.<BR>- STAT([CODE] [STAT]) value of the given stat for the given object.<BR>- DATETIME(DAY/TIME/MONTH/YEAR) displays the appropriate numberic value.<BR>- GSTAT([CODE] [STAT]) like STAT, but player data accessible. See Generic.java.<BR>- AFFECTED([CODE]) name of a random spell affect on the object.<BR>- FACTION([CODE] [FACTION]) name of the range the mob has in given faction.<BR>- ISBEHAVE([CODE]) class ids of the behaviors on the object.<BR>- ISFOLLOW([CODE])  name of the mob the given mob is following.<BR>- ISSERVANT([CODE])  name of the mob the given mob is serving.<BR>- HITPRCNT([CODE])  % of hit points remaining for given mob.<BR>- INLOCALE() name of the room type the monster is in.<BR>- INROOM() raw id of the room the monster is in.<BR>- ISODD([AMT]) echos AMT if AMT is an odd, whole number.<BR>- ISRECALL([CODE]) start room of the given mob.<BR>- INAREA() name of the area the monster is in.<BR>- ISHERE() name of the area the monster is in.<BR>- VAR([CODE] [VAR NAME]) Value of the given variable.<BR>- SEX([CODE]) sex of the given mob.<BR>- POSITION([CODE]) position name of the given mob.<BR>- LEVEL([CODE]) level of the given mob.<BR>- QUESTPOINTS([CODE]) questpoints of the given mob.<BR>- PRACS([CODE]) practices of the given mob.<BR>- TRAINS([CODE]) trains of the given mob.<BR>- CLASS([CODE]) class of the given mob.<BR>- BASECLASS([CODE]) base class of the given mob.<BR>- RACE([CODE]) race of the given mob.<BR>- RACECAT([CODE]) racial category of the given mob.<BR>- GOLDAMT([CODE]) number of gold coins the given mob has.<BR>- EXP([CODE]) number of experience points the given mob has.<BR>- VALUE([CODE] [CURRENCY]) base value the given mob has in given currency.<BR>- QUESTWINNER([CODE]) returns a list of all the quests the mob was won.<BR>- QUESTSCRIPTED([CODE]) returns a list of all the quests the mob is scripted<BR>for.<BR>- QUESTMOB([QUEST NAME]) returns a list of all the mobs desigated by this<BR>quest.<BR>- QUESTOBJ([QUEST NAME])  returns a list of all the items desigated by this<BR>quest.<BR>- QUESTROOM([QUEST NAME])  returns a list of all rooms desigated by this quest.<BR>- ISQUESTMOBALIVE([QUEST NAME]) returns a list of all live mobs desigated by<BR>this quest.<BR>- ISTIME() returns the approx time of day in words.<BR>- ISSEASON() returns the season.<BR>- ISWEATHER() returns the weather<BR>- ISMOON() returns the moon phase<BR>- ISDAY() returns word day or evening.<BR>- EVAL()  not implemented.<BR>- NUMBER([VALUE/CODE]) Returns the numberic value of the given argument.<BR>- RANDNUM([VALUE/CODE]) returns random number from 1..value/code.<BR>- RAND0NUM([VALUE/CODE]) returns random number from 0..value/code-1.<BR>- ROOMMOB([NUM]) returns the NUMth mob in the room's name.<BR>- ROOMITEM([NUM]) whether the NUMth item in the room's NAME.<BR>- NUMMOBSROOM([*/NAME]) returns the number of named mobs in the room.<BR>- NUMPCSAREA() returns the number of pcs in the area.<BR>- NUMPCSROOM() returns the number of pcs in the room.<BR>- EXPLORED([CODE] [AREA/WORLD]) displays % explored of code mob.<BR>- NUMITEMSROOM() returns the number of items in the room.<BR>- NUMITEMSMOB([NAME]) returns the number of items the mob has.<BR>- MOBITEM([MOBNAME] [NUM]) returns the NUMth item owned by mob mobname.<BR>- INCONTAINER([CODE]) returns container of an item, or the mount of a mob.<BR>- ISABLE([CODE] [SKILL NAME]) the mobs proficiency in the given skill/ability.<BR>- ISOPEN([CODE/DIRECTION]) "true" if the container item, or direction name is<BR>open.<BR>- ISLOCKED([CODE/DIRECTION]) the key name if the container, or direction has a<BR>lock.<BR>- STRIN([STRING] [STRING]) word number of the second string if it appears in<BR>the first.<BR>- CALLFUNC([FUNCTION] [PARM]..) the value returned by the FUNCTION_PROG named.<BR>- DEITY([CODE]) returns a mobs deity.<BR>- CLAN([CODE]) returns a mobs clan.<BR>- CLANRANK([CODE]) returns mobs clan role/rank as a number.<BR>- CLANDATA([CLAN] [VAR]) returns the given clans data based on var.<BR>- IPADDRESS([CODE]) return ip address of player.<BR>- QVAR([QUEST] [CODE]) returns temp quest vars.<BR><BR>Any of the $ codes may be followed by a period and a literal number to<BR>designate a particular word inside a string of many words.  For instance if $o<BR>evaluates to "a magic wand", $o.1 would evalulate to "magic".  If $l evaluated<BR>to "orc bob hassan", $l.2 would give "hassan".  This syntax can also be<BR>followed by ".." to grab substrings.  For instance, if $o evaluates to "a magic<BR>wand", $o.1.. would evaluate to "magic wand".<BR></pre>
+                <pre>Behavior   : Scriptable<BR>Targets    : MOBs, Items, Rooms<BR>Parameters : (see below)<BR>Example    : LOAD=progs/mrinfo.script~<BR>Description: <BR>This behavior allows the reactions and behaviors of the mob to be scripted. The<BR>parameter may be complete scripts, and/or LOAD commands as specified below. If<BR>you choose to use a file for your script, then each script command line must be<BR>terminated by a linefeed or a semicolon.  If you choose to put your entire<BR>script into the parameters, you must terminate EVERY line with a semicolon (;).<BR><BR>Multiple scripts with multiple triggers may be included.  Each script and<BR>trigger must be separated by the ~ character.  See examples in the<BR>resources/progs directory! <BR>Now to the script itself:<BR>The first line must be a trigger word followed by any parameters.  Valid<BR>triggers and parameters are as follows:<BR>LOAD=[SCRIPT PATH] - insert a new script from another file.  Ex:<BR>LOAD=progs/my.script~ <BR>GREET_PROG [PCT CHANCE] - When players enter the room, given the chance.<BR>ARRIVE_PROG [PCT CHANCE] - When the mob enters a new room, or enters the game.<BR>ALL_GREET_PROG [PCT CHANCE] - Same as GREET_PROG, but works with sneakers too.<BR>LOGIN_PROG [PCT CHANCE] - When players logs into the game, given the chance.<BR>LOGOFF_PROG [PCT CHANCE] - When players log out of the game, given the chance.<BR>LEVEL_PROG [PCT CHANCE] - When a player anywhere gains a level, given the<BR>chance.<BR>SPEECH_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When someone says the words.<BR>BRIBE_PROG [AMOUNT OF GOLD] - When the amount or better is given to the<BR>monster.<BR>GIVE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When something is given to the<BR>monster.<BR>RAND_PROG [PCT CHANCE] - Triggers at random, given the chance.<BR>ONCE_PROG - Triggers on the first occurrence, but never again (until reset).<BR>FIGHT_PROG [PCT CHANCE] - Triggers during combat, given the chance.<BR>ENTRY_PROG [PCT CHANCE] - Triggers whenever the monster enters a new room.<BR>EXIT_PROG [PCT CHANCE] - Triggers whenever anyone exits the room of the<BR>monster.<BR>DEATH_PROG - When the monster dies.<BR>KILL_PROG - When the monster kills.<BR>HITPRCNT_PROG [HP PCT] - When the monster reaches the hit points % remaining.<BR>MASK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When a mob performs an action<BR>with these words.<BR>IMASK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When this mob performs an<BR>action with these words.<BR>REGMASK_PROG (P) [EXACT PHRASE]/[REGULAR EXPRESSION] - When a mob performs an<BR>action matching.<BR>ACT_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When a mob performs an action<BR>with these words.<BR>SOCIAL_PROG [SOCIAL NAME] - When a mob performs the given social.<BR>CHANNEL_PROG [CHNAME] (P) [A PHRASE]/[ONE OR MORE WORDS] - When channels a<BR>message with these words.<BR>QUEST_TIME_PROG [QUEST NAME] [TIME LEFT] - When the running quest reaches the<BR>number of minutes left.<BR>TIME_PROG [LIST OF HOURS] - Mob runs program at listed hours of the day.<BR>DAY_PROG [LIST OF DAYS] - Mob runs program at listed days of the month.<BR>DELAY_PROG [LOW TICKS] [HIGH TICKS] - Mob runs program at the given interval<BR>range.<BR>LOOK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>looked at.<BR>LLOOK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>llooked at.<BR>GET_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>gotten.<BR>OPEN_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>opened.<BR>CLOSE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>closed.<BR>LOCK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>locked.<BR>UNLOCK_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>unlocked.<BR>PUT_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is put in<BR>something.<BR>DROP_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>dropped.<BR>REMOVE_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>removed.<BR>CONSUME_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>ate/drank.<BR>WEAR_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is<BR>worn/wielded.<BR>DAMAGE_PROG - When damage taken by mob or given by item. Item#2 is the weapon.<BR>$g will have the amount.<BR>BUY_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is bought<BR>(items only).<BR>SELL_PROG (P) [A PHRASE]/[ONE OR MORE WORDS] - When matching something is sold.<BR>EXECMSG_PROG [MSG CODE] (P) [COMMAND WORDS] - When a msg of type msg code is<BR>executed. HELP MSG TYPES.<BR>CNCLMSG_PROG [MSG CODE] (P) [COMMAND WORDS] - Before a msg of type msg code is<BR>allowed. HELP MSG TYPES.<BR>FUNCTION_PROG [FUNCTION NAME] - declares a runnable function, with parms in $g,<BR>see MPCALLFUNC.<BR>*** NOTE Phrases for MASK_PROG, GIVE_PROG, GET_PROG, PUT_PROG, REMOVE_PROG,<BR>WEAR_PROG, BUY_PROG, SELL_PROG, and SPEECH_PROG must group words and phrases<BR>together using the "'" character, for instance 'a phrase' or 'multiple words'.<BR>The characteris unnecessary when put around single words 'word'.<BR><BR>*** NOTE If Scriptable is placed on an Item, triggers such as GET_PROG,<BR>DROP_PROG, WEAR_PROG, and REMOVE_PROG will only trigger when the scripted item<BR>is involved. <BR><BR>*** NOTE MASK_PROG and ACT_PROG will check commands as they appear to the mob<BR>with this behavior.  Consider perspective, vision, and word tense in light of<BR>this fact when wording your masks.  For instance, the purchase of a sword in a<BR>dark shop may be seen as 'Someone buys something from someone' instead of 'Bob<BR>buys a sword from Joe'.<BR><BR>Following this line is your script itself.  The commands are as follows:<BR>IF/ENDIF/ELSE Conditional evaluations, separated by AND/OR.  The IF statement<BR>can group conditions with () and use the following functions as part of its<BR>evaluation:<BR>- RAND([% CHANCE])    Random truth<BR>- HAS([CODE] [ITEM NAME])  if the given mob has the specified item.<BR>- HASNUM([CODE] [ITEM NAME] == [NUM])  the amount the given mob has of the<BR>item.<BR>- HASTITLE([CODE] [TITLE STR])  if the given mob has the give title.<BR>- WORN([CODE] [ITEM NAME])  if the given mob wears the specified item.<BR>- ISNPC([CODE])  if the given mob is a non-player.<BR>- ISPC([CODE])  if the given mob is a player.<BR>- ISPKILL([CODE])  if the given mob has playerkill flag on.<BR>- ISGOOD([CODE])  if the given mob is good.<BR>- ISNAME([CODE] [WORDS])  if the given item is named with given words.<BR>- CURRENCY([CODE] == [NAME])  if the native currency of the mob or coins is the<BR>name. Where == may be !=.<BR>- NUMMOBSINAREA([MOB NAME] == [NUM]) if comparison of number of mobs of that<BR>name in area. Where == may be !=, >, &lt;, &lt;=, &lt;=.<BR>- NUMMOBS([MOB NAME] == [NUM]) if comparison of number of mobs of that name in<BR>world. Where == may be !=, >, &lt;, &lt;=, &lt;=.<BR>- NUMRACEINAREA([MOB NAME] == [NUM]) if comparison of number of mobs of that<BR>name in area. Where == may be !=, >, &lt;, &lt;=, &lt;=.<BR>- NUMRACES([MOB NAME] == [NUM]) if comparison of number of mobs of that name in<BR>world. Where == may be !=, >, &lt;, &lt;=, &lt;=.<BR>- ISEVIL([CODE])  if the given mob is evil.<BR>- ISNEUTRAL([CODE])  if the given mob is neutral.<BR>- ISFIGHT([CODE])  if the given mob is fighting.<BR>- ISALIVE([CODE])  if the given mob is alive and available.<BR>- ISIMMORT([CODE])  if the given mob is an archon.<BR>- ISCHARMED([CODE])  if the given mob is charmed.<BR>- STRCONTAINS([STRING] [CODED WORDS])  is string contains coded words.  May use<BR>"" & | > &lt; ().<BR>- STAT([CODE] [STAT] == [VALUE]) if the given mob/item has a stat of value, !=<BR>is also valid.<BR>- GSTAT([CODE] [STAT] == [VALUE]) like STAT, but player data accessible. See<BR>Generic.java.<BR>- DATETIME([TIME/DAY/ETC] == [VALUE]) like STAT, but player data accessible.<BR>Where == may be >, &lt;, !=, >=, or &lt;=.<BR>- AFFECTED([CODE] [SPELL CLASS]) if the mob is affected by spell.<BR>- ISBEHAVE([CODE] [BEHAVIOR CLASS]) if the mob has a behavior.<BR>- ISFOLLOW([CODE])  if the given mob is following someone in the room.<BR>- ISSERVANT([CODE])  if the given mob is serving someone in the room.<BR>- HITPRCNT([CODE] == [% HITS])  if the given mob has the pct chance hit points.<BR> Where == may be >, &lt;, !=, >=, or &lt;=.<BR>- HASTATTOO([CODE] [TATTOONAME]) whether the given mob has the given tattoo.<BR>- INLOCALE([ROOM CLASS]) if the mob is in the given room type.<BR>- ISBIRTHDAY([CODE]) if the mobs birthday is today.<BR>- INROOM([ROOM ID/MOB NAME] == [ROOM ID/MOB NAME]) if the mob is in the given<BR>room.<BR>- MOOD([MOB NAME] == [MOOD NAME]) if the mob has a mood, and it is the one<BR>specified.<BR>- ISRECALL([MOB NAME]== [ROOM ID/MOB NAME]) is the mob is from the given room.<BR>- ISHERE([CODE]) if the mob/item in the same room as the scripted one.<BR>- INAREA([NAME]) if the scripted mob/item in room named by the parameters.<BR>- ISLIKE([CODE] [MASK]) if the mob/item meets the given zapper mask.  See<BR>ZAPPERMASKS for mask syntax<BR>- ISODD([AMT]) whether the given argument is an odd whole number<BR>- VAR([CODE] [VAR NAME] == [VALUE]) if the var for the given mob has value. <BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- FACTION([CODE] [FACT] == [VALUE]) if the faction for the given mob has value.<BR> Where == may be !=, >, &lt;, >=, &lt;=.<BR>- SEX([CODE] == [M/F/N]) evaluates sex.  Where == may also be !=.<BR>- POSITION([CODE] == [SLEEPING/STANDING/SITTING] Evaluates position.<BR>- LEVEL([CODE] == [LVL]) evaluates level.  Where == may be !=, &lt;, >, >=, &lt;=.<BR>- MATH([EXPR] == [EXPR]) evaluates expression.  Where == may be !=, &lt;, >, >=,<BR>&lt;=.<BR>- QUESTPOINTS([CODE] == [VAL]) evaluates questpoints.  Where == may be !=, &lt;,<BR>>, >=, &lt;=.<BR>- QVAR([QUEST] [CODE] == [VAL]) evaluates temp quest vars.  Where == may be !=,<BR>&lt;, >, >=, &lt;=.<BR>- TRAINS([CODE] == [VAL]) evaluates trains.  Where == may be !=, &lt;, >, >=, &lt;=.<BR>- PRACS([CODE] == [VAL]) evaluates pracs.  Where == may be !=, &lt;, >, >=, &lt;=.<BR>- CLASS([CODE] == [CLASS NAME]) evaluates class. Where == may be !=.<BR>- BASECLASS([CODE] == [CLASS NAME]) evaluates base class. Where == may be !=.<BR>- RACE([CODE] == [RACE NAME]) evaluates race. Where == may be !=.<BR>- RACECAT([CODE] == [RACE CAT NAME]) evaluates racial category. Where == may be<BR>!=.<BR>- GOLDAMT([CODE] == [AMT]) evaluates base gold or item value. Where == may be<BR>!=, >, &lt;, >=, &lt;=.<BR>- EXP([CODE] == [AMT]) evaluates experience points. Where == may be !=, >, &lt;,<BR>>=, &lt;=.<BR>- VALUE([CODE] [CURRENCY] == [AMT]) evaluates base value in given currency.<BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- IPADDRESS([CODE] == [ADDRESS]) evaluates ip address of player. Where == may<BR>be !=.<BR>- QUESTSCRIPTED([CODE] [QUEST NAME]) returns whether the code of the given name<BR>has a script from the given quest.<BR>- QUESTWINNER([CODE] [QUEST NAME]) returns whether the code of the given name<BR>has won the given quest.<BR>- QUESTMOB([NAME] [QUEST NAME]) returns whether the mob of the given name is a<BR>mob designated in the given quest.<BR>- QUESTOBJ([NAME] [QUEST NAME]) returns whether the item of the given name is<BR>an item designated in the given quest.<BR>- QUESTROOM([ROOMID] [QUEST NAME]) returns whether the item of the given name<BR>is an item designated in the given quest.<BR>- ISQUESTMOBALIVE([NAME/NUM] [QUEST NAME]) returns whether the mob, designated<BR>in the currently running quest, is alive.<BR>- ISTIME([HOUR#/DAY/DAWN/DUSK/NIGHT]) returns the time of day, or time region.<BR>- ISSEASON([WINTER/SPRING/SUMMER/FALL]) returns the season.<BR>- ISWEATHER([CLEAR/RAIN/SNOW/WINDY/ETC..]) returns the weather<BR>- ISMOON() returns whether the scriptor can see the moon<BR>- ISMOON([NEW/WAXCRESCENT/WAXQUARTER/WAXGIBBOUS/FULL/WANEGIBBOUS/ETC..]) check<BR>the moon type<BR>- ISDAY([DAY#]) returns the day of the month.<BR>- EVAL([CODE] == [VALUE/CODE])  if the code has value.  Where == may be !=, >,<BR>&lt;, >=, &lt;=.<BR>- NUMBER([VALUE/CODE]) whether the given code or value is a number.<BR>- RANDNUM([VALUE] == [MAX VALUE]) how the 1st code compares to rand 1..max<BR>code.<BR>- RAND0NUM([VALUE] == [MAX VALUE]) how the 1st code compares to rand 0..max<BR>code-1.<BR>- ROOMMOB([NUM] [NAME]) whether the NUMth mob in the room is named NAME.<BR>- ROOMITEM([NUM] [NAME]) whether the NUMth item in the room is named NAME.<BR>- NUMMOBSROOM([*/NAME] == [NUMBER]) compares the # of named mobs in room.  <BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- NUMPCSAREA(== [NUMBER]) compares the number of pcs in the area.   Where ==<BR>may be !=, >, &lt;, >=, &lt;=.<BR>- NUMPCSROOM(== [NUMBER]) compares the number of pcs in the room.   Where ==<BR>may be !=, >, &lt;, >=, &lt;=.<BR>- EXPLORED([CODE] [AREA/WORLD] == [NUMBER]) check % explored of code mob. <BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- NUMITEMSROOM(== [NUMBER]) compares the number of mobs in the room.   Where ==<BR>may be !=, >, &lt;, >=, &lt;=.<BR>- NUMITEMSMOB([NAME] == [NUMBER]) compares the number of items the mob has.  <BR>Where == may be !=, >, &lt;, >=, &lt;=.<BR>- MOBITEM([MOBNAME] [NUM] [NAME]) whether the NUMth item owned by mob mobname<BR>is named NAME.<BR>- INCONTAINER([CODE] [CONTAINER/MOUNT]) whether the item is in container or<BR>mount.<BR>- ISABLE([CODE] [SKILL NAME]) whether the mob has the skill/ability.<BR>- ISOPEN([CODE/DIRECTION]) whether the container item, or direction name is<BR>open.<BR>- ISLOCKED([CODE/DIRECTION]) whether the container item, or direction name is<BR>locked.<BR>- STRIN([STRING] [STRING]) whether the second string appears as a whole word in<BR>the first.<BR>- CALLFUNC([FUNCTION] [PARM]..) returns whether the FUNCTION_PROG named returns<BR>a non-null.<BR>- DEITY([CODE] == [CLASS NAME]) evaluates a mobs deity. Where == may be !=.<BR>- CLAN([CODE] == [CLASS NAME]) evaluates a mobs clanid. Where == may be !=.<BR>- CLANRANK([CODE] == [NUMBER]) evaluates mobs rank.  Where == may be !=, &lt;, >,<BR>>=, &lt;=.<BR>- CLANDATA([CLAN] [VAR] == [STRING]) evaluates clan rank.  Where == may be !=,<BR>&lt;, >, >=, &lt;=.<BR>*** NOTES! The parenthesis are REQUIRED for the above!  The brackets should NOT<BR>be included, they are there to designate a parameter.  Where CODE above is one<BR>of the following: $n=source of the action, $i=scripted mob, $t=target,<BR>$o=item1, $p=item2, $w=owner of item1, $W=owner of item2.<BR><BR>Now we get to the executed commands.  They are as follows:<BR>FOR $X = [START] to [FINISH] - loops. X must be 0-9.  End with NEXT by itself.<BR>SWITCH/CASE/ENDSWITCH - act as a multiple if/elseif/elseif....<BR>MPASOUND [TEXT] - a noisy emote that goes to all adjacent rooms.<BR>MPECHO [TEXT] - an emote<BR>MPSLAY [MOB NAME] - utterly kill the target.<BR>MPJUNK [ITEM] - destroy the given item from the monsters inventory.<BR>MPMLOAD [MOB NAME] - create an instance of the given mob name.<BR>MPOLOAD [ITEM NAME] - create an instanceof the given item, give it to the mob.<BR>MPOLOADROOM [ITEM NAME] - create an instanceof the given item, drop it in the<BR>room.<BR>MPMLOAD FROMFILE [CMARE FILE] [MOB NAME] - create a given mob name from a file.<BR>MPOLOAD FROMFILE [CMARE FILE] [ITEM NAME] - create an item from a file, give it<BR>to the mob.<BR>MPOLOADROOM FROMFILE [CMARE FILE]  [ITEM NAME] - create an item from a file,<BR>drop it in the room.<BR>MPECHOAT [MOB/ROOM/AREA/WORLD] [TEXT] - emote to the given target.<BR>MPECHOAROUND [TEXT] - emotes to everyone in room but the source of the trigger.<BR>MPCAST [SPELL] [MOB NAME] - casts the given spell at the given target.<BR>MPKILL [MOB NAME] - attack the given target.<BR>MPEXP [MOB NAME] [EXP or TNL%] - grants amount of exp to mob.<BR>MPQUESTPOINTS [MOB NAME] [QPS] - sets mobs amount of questpoints. Prefix QPS<BR>with ++ or -- to adjust only.<BR>MPTRAINS [MOB NAME] [TRAINS] - sets mobs amount of trains. Prefix TRAINS with<BR>++ or -- to adjust only.<BR>MPPRACS [MOB NAME] [PRACS] - sets mobs amount of pracs. Prefix PRACS with ++ or<BR>-- to adjust only.<BR>MPPURGE [ITEM/MOB NAME] - destroy the given target item or mob.<BR>MPUNAFFECT [MOB NAME] [ALL/SKILL NAME]- removes given affects from the mob.<BR>MPGOTO [ROOM ID/NAME/DESC] - take the monster to the given room.<BR>MPAT [ROOM ID/NAME/DESC] [COMMAND] - do a command at the given room.<BR>MPSET [MOB/ITEM] [VAR NAME] [VALUE] - use with care! sets a stat for a mob or<BR>item.<BR>MPGSET [MOB/ITEM] [VAR NAME] [VALUE] - like MPSET but player data accessible.<BR>See GSTAT.<BR>MPTRANSFER [ALL/MOB NAME] [ROOM ID/NAME/DESC] - transfer mobs to the given<BR>room.<BR>MPBEACON [ROOM ID/NAME/DESC] [ALL/MOB NAME] - Makes given room start room for<BR>players.<BR>MPFORCE [MOB NAME] [COMMAND] - force the given mob to do the given command.<BR>MPPROMPT [PC NAME] [VARIABLE NAME] [PROMPT].  Store user entered value in<BR>variable.  See Guide.<BR>MPCONFIRM [PC NAME] [VARIABLE NAME] [DEFAULT VALUE] [PROMPT].  Y or N.  See<BR>Guide.<BR>MPCHOOSE [PC NAME] [VARIABLE NAME] [CHOICES] [DEFAULT VALUE] [PROMPT].  Hotkey<BR>choices.  See Guide.<BR>MPSCRIPT [MOB/ITEM] ([FLAGS]) [SCRIPT] - adds a quest Scriptable to the target,<BR>flags GLOBAL INDIVIDUAL SAVABLE EXECUTE.<BR>MPSETVAR [MOB NAME] [VAR NAME] [VALUE] - set a variable for the given mob. <BR>Value may be ++, --, or preceded by +,-,*,or /.<BR>MPENDQUEST [QUEST NAME/MOB NAME] - this command will shutdown the given quest,<BR>or remove quest scripts from given mob.<BR>MPSTARTQUEST [QUEST NAME] - this command will start the quest of the given<BR>name.<BR>MPQUESTWIN [MOB NAME] [QUEST NAME] - declares the mob a winner of the given<BR>quest.<BR>MPSTOP [MOB NAME] - forces mob to stop fighting, or performing common skills.<BR>MPCALLFUNC [FUNC NAME] [PARMS...] - executes a FUNCTON_PROG already declared.<BR>MPALARM [TICKTIME] [COMMAND] - executes COMMAND after time has elapsed.<BR>MPNOTRIGGER [TRIGGER NAME] [MILISECS]- this command will prevent given trigger<BR>for given miliseconds.<BR>MPFACTION [MOB] [FACTION] [VALUE] - changes faction value for given mob. Value<BR>is number, range, or +NUM, --NUM.<BR>MPWHILE ([IF CONDITION]) [COMMAND] - repeatedly executes commmand.<BR>MPDAMAGE [MOB/ITEM] [MIN] [MAX] (KILL)- does random damage to the target. Kills<BR>only when KILL parm given.<BR>MPREJUV AREA/ROOM/[ROOMID]/[AREAID] (ITEMS/MOBS) - rejuv dead mobs, lost items<BR>from area or room<BR>MPRESET AREA/ROOM/[ROOMID]/[AREAID] - reload an area or room from the database<BR>MPLOG ERROR/INFO/DEBUG HEADER MESSAGE - add an entry to the aethermud server<BR>log<BR>MPCHANNEL (!)[CHANNEL] MESSAGE - send a message to a channel<BR>MPTRACKTO [MOB NAME] - forces the mob to track down the given mob.<BR>MPWALKTO [MOB NAME] - forces the mob to track down the given mob, land surface<BR>only.<BR>MPAFFECT [SPELL] [MOB NAME] [PARMS] - automatically casts a spell on a mob.<BR>MPBEHAVE [BEHAVIOR] [MOB NAME] [PARMS] - adds a behavior to the mob.<BR>MPUNBEHAVE [BEHAVIOR] [MOB NAME] - removes a behavior from a  mob. <BR>MPTATTOO [MOB] (-)[TATTOONAME] - adds or removes the given tattoo for the mob. <BR>MPPLAYERCLASS [MOB] [CCLASS ID] ([LVL])... - changes current char class &<BR>optionally level.<BR>MPTITLE [MOB] (-) [TITLE] - adds or removes the given title string from the<BR>mob.<BR>MPENABLE [MOB] [ABILITY NAME] [PROF] [STR] - adds a new skill to the mob, or<BR>mods prof. w/++,--.<BR>MPDISABLE [MOB] [ABILITY NAME] - removes a skill from the mob.<BR>MPSAVEVAR [MOB NAME] [VAR NAME] - saves the variable set using MPSETVAR to the<BR>database.<BR>MPLOADVAR [MOB NAME] [VAR NAME] - loads the variable from the database.<BR>MPM2I2M [MOB/ITEM] - this strange command turns a mob into an item and back<BR>into a mob<BR>MPHIDE [MOB/ITEM/EXIT] - makes the target undetectable by any means.<BR>MPUNHIDE [MOB/ITEM/EXIT] - reverses the affects of MPHIDE -- does not affect<BR>Hide or other skills.<BR>MPOPEN [ITEM/EXIT] - opens a closed container or door.<BR>MPCLOSE [ITEM/EXIT] - closes an open container or door.<BR>MPLOCK [ITEM/EXIT] - closes and locks a lockable container or door.<BR>MPUNLOCK [ITEM/EXIT] - unlocks a locked container or door, but does not open.<BR>MPSETCLANDATA [CLAN] [VAR] [VALUE] - changes a datum about the given clan.<BR>MPARGSET [$VAR] [VALUE] - changes internal $(i,n,t,0,1,..9) object to one<BR>specified by value.<BR>MPLOADQUESTOBJ [QUEST] [QVARNAME] [$VAR] - loads quest obj into internal<BR>$(i,n,t,0,1,..9) object.<BR>MPUNLOADSCRIPT [SCRIPT FILE NAME] - unloads a file script from the resources<BR>cache for refreshing<BR>MPQSET [QUEST] [QVARNAME] [VALUE] - set temp quest var to given value.<BR>BREAK -- return/break out of the current if condition or program script. <BR>RETURN [OPTIONAL STRING] - exits the existing script, returning the string<BR>given.<BR>&lt;SCRIPT> - embed Javascript in Scriptable event.  Must be closed with<BR>&lt;/SCRIPT>.<BR>[COMMAND] [PARMS]- any valid aether mud command!<BR>** NOTES! For those commands which have multiple parameters (specifically MPAT,<BR>MPFORCE, MPCAST, MPECHOAT, you must use "'" characters in order to group any<BR>words in the first parameter of those commands.  Inside your command<BR>parameters, whether it be text, or even when specifying MOB or ITEM names, you<BR>may use any of the following freely:<BR>$a - name of the area the monsters in<BR>$b - name of last item/mob loaded w/mmpload/mpoload<BR>$B - display text of last item/mob loaded w/mmpload/mpoload<BR>$c - random npc/pc inhabitants name<BR>$C - random npc/pc inhabitants name<BR>$i - monsters name<BR>$I - monsters display text<BR>$n - source of triggers name<BR>$N - source of triggers name<BR>$t - target of triggers name<BR>$T - target of triggers name<BR>$r - random pc inhabitants name<BR>$R - random pc inhabitants name<BR>$j - he/she of the monster<BR>$e - he/she of the trigger source<BR>$d - title of monsters room location<BR>$D - long desc of monsters room location<BR>$f - name of the person monster follows<BR>$E - he/she of the trigger target<BR>$F - he/she of the person monster follows<BR>$g - lowercase form of the message from a MPCALLFUNC, MASK_PROG or SPEECH_PROG.<BR>$G - uppercase form of the message from a MPCALLFUNC, MASK_PROG or SPEECH_PROG.<BR>$J - he/she of a random pc inhabitant<BR>$k - his/her of the monster<BR>$l - list of all mobs (excluding monster). See "." syntax below.<BR>$L - list of all Items in room. See "." syntax below.<BR>$m - his/her of the trigger source<BR>$M - his/her of the trigger target<BR>$K - his/her of a random pc inhabitant<BR>$y - sir/madam of the trigger source<BR>$Y - sir/madam of the trigger target<BR>$o - item1 name<BR>$O - item1 name<BR>$p - item2 name<BR>$P - item2 name<BR>$w - owner of item1s name<BR>$W - owner of item2s name<BR>$x - random valid exit's direction<BR>$X - random valid exit's name<BR>$xN- north exit's name<BR>$0..$9- temporary variables set by other commands.<BR><BR>$&lt;[CODE] [VAR NAME]> - the variable of the given name, of the given code. <BR>Where code is $i, $n, $t, $o, or $p.  See MPSETVAR.<BR><BR>${[NUM] [QUEST NAME]} - a mob name from the given quest, if the quest is<BR>running. The number corresponds to the order in which mobs were designated in<BR>the quest script. Counting starts at 1.<BR><BR>$[[NUM] [QUEST NAME]] - an item name from the given quest, if the quest is<BR>running. The number corresponds to the order in which items were designated in<BR>the quest script. Counting starts at 1.<BR><BR>$%FUNCTION(PARM1 PARM2..)% - replace this code with a value from one of the<BR>internal functions.  While the names are the same as the eval functions above,<BR>their parameters will be slightly different.  The functions which may be<BR>included in this code include the following:<BR>- RAND() random number between 1 and 100.<BR>- HAS([CODE])  name of a random item in given mobs inventory.<BR>- HASNUM([CODE] [ITEM])  number of the given items in given mobs inventory.<BR>- WORN([CODE])  name of a random worn item in given mobs inventory.<BR>- ISNPC([CODE])  not implemented.<BR>- ISPC([CODE])  not implemented.<BR>- ISGOOD([CODE])  returns the alignment string of the given mob.<BR>- ISNAME([CODE])  Returns the real/full name of the given object.<BR>- CURRENCY([CODE])  Returns the native currency of the given object.<BR>- MATH([EXPR]) returns evaluated mathematical expressions. +-*\<BR>- MOOD([MOB NAME]) the given mobs mood.<BR>- NUMMOBSINAREA([MOB NAME]) number of mobs in area matching mask.<BR>- NUMMOBS([MOB NAME]) number of mobs in world matching mask.<BR>- NUMRACEINAREA([MOB NAME]) number of mobs in area matching race.<BR>- NUMRACES([MOB NAME]) number of mobs in world matching race.<BR>- ISEVIL([CODE])  alignment number of the given mob.<BR>- ISNEUTRAL([CODE])  short alignment string of the given mob.<BR>- ISFIGHT([CODE])  name of the mob the given mob is fighting.<BR>- ISALIVE([CODE])  health of the given mob.<BR>- ISIMMORT([CODE])  not implemented.<BR>- ISBIRTHDAY([CODE]) returns birthday of the mob<BR>- ISCHARMED([CODE])  name of the charm spell the mob is under.<BR>- STAT([CODE] [STAT]) value of the given stat for the given object.<BR>- DATETIME(DAY/TIME/MONTH/YEAR) displays the appropriate numberic value.<BR>- GSTAT([CODE] [STAT]) like STAT, but player data accessible. See Generic.java.<BR>- AFFECTED([CODE]) name of a random spell affect on the object.<BR>- FACTION([CODE] [FACTION]) name of the range the mob has in given faction.<BR>- ISBEHAVE([CODE]) class ids of the behaviors on the object.<BR>- ISFOLLOW([CODE])  name of the mob the given mob is following.<BR>- ISSERVANT([CODE])  name of the mob the given mob is serving.<BR>- HITPRCNT([CODE])  % of hit points remaining for given mob.<BR>- INLOCALE() name of the room type the monster is in.<BR>- INROOM() raw id of the room the monster is in.<BR>- ISODD([AMT]) echos AMT if AMT is an odd, whole number.<BR>- ISRECALL([CODE]) start room of the given mob.<BR>- INAREA() name of the area the monster is in.<BR>- ISHERE() name of the area the monster is in.<BR>- VAR([CODE] [VAR NAME]) Value of the given variable.<BR>- SEX([CODE]) sex of the given mob.<BR>- POSITION([CODE]) position name of the given mob.<BR>- LEVEL([CODE]) level of the given mob.<BR>- QUESTPOINTS([CODE]) questpoints of the given mob.<BR>- PRACS([CODE]) practices of the given mob.<BR>- TRAINS([CODE]) trains of the given mob.<BR>- CLASS([CODE]) class of the given mob.<BR>- BASECLASS([CODE]) base class of the given mob.<BR>- RACE([CODE]) race of the given mob.<BR>- RACECAT([CODE]) racial category of the given mob.<BR>- GOLDAMT([CODE]) number of gold coins the given mob has.<BR>- EXP([CODE]) number of experience points the given mob has.<BR>- VALUE([CODE] [CURRENCY]) base value the given mob has in given currency.<BR>- QUESTWINNER([CODE]) returns a list of all the quests the mob was won.<BR>- QUESTSCRIPTED([CODE]) returns a list of all the quests the mob is scripted<BR>for.<BR>- QUESTMOB([QUEST NAME]) returns a list of all the mobs desigated by this<BR>quest.<BR>- QUESTOBJ([QUEST NAME])  returns a list of all the items desigated by this<BR>quest.<BR>- QUESTROOM([QUEST NAME])  returns a list of all rooms desigated by this quest.<BR>- ISQUESTMOBALIVE([QUEST NAME]) returns a list of all live mobs desigated by<BR>this quest.<BR>- ISTIME() returns the approx time of day in words.<BR>- ISSEASON() returns the season.<BR>- ISWEATHER() returns the weather<BR>- ISMOON() returns the moon phase<BR>- ISDAY() returns word day or evening.<BR>- EVAL()  not implemented.<BR>- NUMBER([VALUE/CODE]) Returns the numberic value of the given argument.<BR>- RANDNUM([VALUE/CODE]) returns random number from 1..value/code.<BR>- RAND0NUM([VALUE/CODE]) returns random number from 0..value/code-1.<BR>- ROOMMOB([NUM]) returns the NUMth mob in the room's name.<BR>- ROOMITEM([NUM]) whether the NUMth item in the room's NAME.<BR>- NUMMOBSROOM([*/NAME]) returns the number of named mobs in the room.<BR>- NUMPCSAREA() returns the number of pcs in the area.<BR>- NUMPCSROOM() returns the number of pcs in the room.<BR>- EXPLORED([CODE] [AREA/WORLD]) displays % explored of code mob.<BR>- NUMITEMSROOM() returns the number of items in the room.<BR>- NUMITEMSMOB([NAME]) returns the number of items the mob has.<BR>- MOBITEM([MOBNAME] [NUM]) returns the NUMth item owned by mob mobname.<BR>- INCONTAINER([CODE]) returns container of an item, or the mount of a mob.<BR>- ISABLE([CODE] [SKILL NAME]) the mobs proficiency in the given skill/ability.<BR>- ISOPEN([CODE/DIRECTION]) "true" if the container item, or direction name is<BR>open.<BR>- ISLOCKED([CODE/DIRECTION]) the key name if the container, or direction has a<BR>lock.<BR>- STRIN([STRING] [STRING]) word number of the second string if it appears in<BR>the first.<BR>- CALLFUNC([FUNCTION] [PARM]..) the value returned by the FUNCTION_PROG named.<BR>- DEITY([CODE]) returns a mobs deity.<BR>- CLAN([CODE]) returns a mobs clan.<BR>- CLANRANK([CODE]) returns mobs clan role/rank as a number.<BR>- CLANDATA([CLAN] [VAR]) returns the given clans data based on var.<BR>- IPADDRESS([CODE]) return ip address of player.<BR>- QVAR([QUEST] [CODE]) returns temp quest vars.<BR><BR>Any of the $ codes may be followed by a period and a literal number to<BR>designate a particular word inside a string of many words.  For instance if $o<BR>evaluates to "a magic wand", $o.1 would evalulate to "magic".  If $l evaluated<BR>to "orc bob hassan", $l.2 would give "hassan".  This syntax can also be<BR>followed by ".." to grab substrings.  For instance, if $o evaluates to "a magic<BR>wand", $o.1.. would evaluate to "magic wand".<BR></pre>
                 </P>
 
                 <p>
diff --git a/resources/help/arc_behaviors.ini b/resources/help/arc_behaviors.ini
index d2f7a6fee4..79db016397 100644
--- a/resources/help/arc_behaviors.ini
+++ b/resources/help/arc_behaviors.ini
@@ -1675,7 +1675,7 @@ MPQSET [QUEST] [QVARNAME] [VALUE] - set temp quest var to given value.\n\r\
 BREAK -- return/break out of the current if condition or program script. \n\r\
 RETURN [OPTIONAL STRING] - exits the existing script, returning the string given.\n\r\
 <SCRIPT> - embed Javascript in Scriptable event.  Must be closed with </SCRIPT>.\n\r\
-[COMMAND] [PARMS]- any valid coffee mud command!\n\r\
+[COMMAND] [PARMS]- any valid aether mud command!\n\r\
 ** NOTES! For those commands which have multiple parameters (specifically \
 MPAT, MPFORCE, MPCAST, MPECHOAT, you must use "'" characters in order to \
 group any words in the first parameter of those commands.  Inside \
diff --git a/resources/progs/coffeeanthem.script b/resources/progs/aetheranthem.script
similarity index 100%
rename from resources/progs/coffeeanthem.script
rename to resources/progs/aetheranthem.script
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Archon/Archon_Metacraft.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Archon/Archon_Metacraft.java
index 2f33a2c566..33ad0b65b9 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Archon/Archon_Metacraft.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Archon/Archon_Metacraft.java
@@ -246,7 +246,7 @@ public class Archon_Metacraft extends ArchonSkill {
                     }
                 }
             } else
-                xml.append(CMLib.coffeeMaker().getItemsXML(items, new Hashtable<String, List<Item>>(), files, null));
+                xml.append(CMLib.aetherMaker().getItemsXML(items, new Hashtable<String, List<Item>>(), files, null));
             mob.location().recoverPhyStats();
             if (!everyFlag)
                 break;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Common/BuildingSkill.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Common/BuildingSkill.java
index d8a05d749b..df964811f3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Common/BuildingSkill.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Common/BuildingSkill.java
@@ -953,7 +953,7 @@ public class BuildingSkill extends CraftingSkill implements CraftorAbility {
         final String[][] data = getRecipeData(mob);
         LandTitle title = CMLib.law().getLandTitle(mob.location());
         double landValue = ((title == null) ? 0 : title.getPrice()) / 100.0;
-        String landCurrency = CMLib.beanCounter().getCurrency(mob.location());
+        String landCurrency = CMLib.moneyCounter().getCurrency(mob.location());
         if (("LIST").startsWith(str.toUpperCase())) {
             boolean hasValueTag = false;
             final String mask = CMParms.combine(commands, 1);
@@ -978,7 +978,7 @@ public class BuildingSkill extends CraftingSkill implements CraftorAbility {
                             if (title == null)
                                 buf.append(wood + "% ??\n\r");
                             else
-                                buf.append(CMLib.beanCounter().nameCurrencyLong(landCurrency, landValue * wood)).append("\n\r");
+                                buf.append(CMLib.moneyCounter().nameCurrencyLong(landCurrency, landValue * wood)).append("\n\r");
                         } else
                             buf.append("??\n\r");
                     } else if (material.equalsIgnoreCase("MONEY")) {
@@ -986,7 +986,7 @@ public class BuildingSkill extends CraftingSkill implements CraftorAbility {
                         if (CMath.isInteger(woodStr)) {
                             int wood = CMath.s_int(woodStr);
                             wood = adjustWoodRequired(wood, mob);
-                            buf.append(CMLib.beanCounter().nameCurrencyLong(landCurrency, wood)).append("\n\r");
+                            buf.append(CMLib.moneyCounter().nameCurrencyLong(landCurrency, wood)).append("\n\r");
                         } else
                             buf.append("??\n\r");
                     } else {
@@ -1362,8 +1362,8 @@ public class BuildingSkill extends CraftingSkill implements CraftorAbility {
             idata = null;
             int wood = CMath.s_int(recipe[DAT_WOOD]);
             wood = adjustWoodRequired(wood, mob);
-            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, landCurrency) < wood) {
-                commonTell(mob, L("You'll need @x1 to do that.", CMLib.beanCounter().nameCurrencyLong(landCurrency, wood)));
+            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, landCurrency) < wood) {
+                commonTell(mob, L("You'll need @x1 to do that.", CMLib.moneyCounter().nameCurrencyLong(landCurrency, wood)));
                 return false;
             }
             woodRequired = 0;
@@ -1372,8 +1372,8 @@ public class BuildingSkill extends CraftingSkill implements CraftorAbility {
             int wood = CMath.s_int(recipe[DAT_WOOD]);
             wood = adjustWoodRequired(wood, mob);
             double roomValue = landValue * wood;
-            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, landCurrency) < roomValue) {
-                commonTell(mob, L("You'll need @x1 to do that.", CMLib.beanCounter().nameCurrencyLong(landCurrency, roomValue)));
+            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, landCurrency) < roomValue) {
+                commonTell(mob, L("You'll need @x1 to do that.", CMLib.moneyCounter().nameCurrencyLong(landCurrency, roomValue)));
                 return false;
             }
             woodRequired = 0;
@@ -1410,11 +1410,11 @@ public class BuildingSkill extends CraftingSkill implements CraftorAbility {
             int wood = CMath.s_int(recipe[DAT_WOOD]);
             wood = adjustWoodRequired(wood, mob);
             double roomValue = landValue * wood;
-            CMLib.beanCounter().subtractMoney(mob, landCurrency, roomValue);
+            CMLib.moneyCounter().subtractMoney(mob, landCurrency, roomValue);
         } else if (recipe[DAT_WOODTYPE].equalsIgnoreCase("MONEY")) {
             int wood = CMath.s_int(recipe[DAT_WOOD]);
             wood = adjustWoodRequired(wood, mob);
-            CMLib.beanCounter().subtractMoney(mob, landCurrency, wood);
+            CMLib.moneyCounter().subtractMoney(mob, landCurrency, wood);
         }
 
         verb = establishVerb(mob, recipe);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Common/CraftingSkill.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Common/CraftingSkill.java
index e716306514..99d3e9e614 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Common/CraftingSkill.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Common/CraftingSkill.java
@@ -635,7 +635,7 @@ public class CraftingSkill extends GatheringSkill {
             if (pair == null) {
                 commonTell(mob, L("You don't know how to make '@x1'", recipeName));
             } else {
-                final String viewDesc = CMLib.coffeeShops().getViewDescription(mob, pair.item);
+                final String viewDesc = CMLib.aetherShops().getViewDescription(mob, pair.item);
                 commonTell(mob, viewDesc);
                 pair.item.destroy();
                 if (pair.key != null)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Common/Hunting.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Common/Hunting.java
index a81f06f07d..c8899f2d0a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Common/Hunting.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Common/Hunting.java
@@ -135,7 +135,7 @@ public class Hunting extends CommonSkill {
                     A.setMiscText("=20%");
                     found.addNonUninvokableEffect(A);
                     found.bringToLife(nearByRoom(), true);
-                    CMLib.beanCounter().clearZeroMoney(found, null);
+                    CMLib.moneyCounter().clearZeroMoney(found, null);
                     found.setMoneyVariation(0);
                 } else {
                     final StringBuffer str = new StringBuffer(L("You can't seem to find any game around here.\n\r"));
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Common/Merchant.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Common/Merchant.java
index 402658c546..2eafccf7e4 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Common/Merchant.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Common/Merchant.java
@@ -18,8 +18,8 @@ package com.syncleus.aethermud.game.Abilities.Common;
 
 import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
 import com.syncleus.aethermud.game.Areas.interfaces.Area;
+import com.syncleus.aethermud.game.Common.interfaces.AetherShop;
 import com.syncleus.aethermud.game.Common.interfaces.CMMsg;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeShop;
 import com.syncleus.aethermud.game.Common.interfaces.PhyStats;
 import com.syncleus.aethermud.game.Common.interfaces.TimeClock.TimePeriod;
 import com.syncleus.aethermud.game.Exits.interfaces.Exit;
@@ -44,7 +44,7 @@ import java.util.Vector;
 public class Merchant extends CommonSkill implements ShopKeeper {
     private final static String localizedName = CMLib.lang().L("Marketeering");
     private static final String[] triggerStrings = I(new String[]{"MARKET"});
-    protected CoffeeShop shop = ((CoffeeShop) CMClass.getCommon("DefaultCoffeeShop")).build(this);
+    protected AetherShop shop = ((AetherShop) CMClass.getCommon("DefaultAetherShop")).build(this);
     private double[] devalueRate = null;
     private long whatIsSoldMask = ShopKeeper.DEAL_ANYTHING;
     private String prejudice = "";
@@ -111,7 +111,7 @@ public class Merchant extends CommonSkill implements ShopKeeper {
     }
 
     @Override
-    public CoffeeShop getShop() {
+    public AetherShop getShop() {
         return shop;
     }
 
@@ -127,7 +127,7 @@ public class Merchant extends CommonSkill implements ShopKeeper {
 
     @Override
     public void setBudget(String factors) {
-        budget = CMLib.coffeeShops().parseBudget(factors);
+        budget = CMLib.aetherShops().parseBudget(factors);
     }
 
     @Override
@@ -137,7 +137,7 @@ public class Merchant extends CommonSkill implements ShopKeeper {
 
     @Override
     public void setDevalueRate(String factors) {
-        devalueRate = CMLib.coffeeShops().parseDevalueRate(factors);
+        devalueRate = CMLib.aetherShops().parseDevalueRate(factors);
     }
 
     @Override
@@ -210,12 +210,12 @@ public class Merchant extends CommonSkill implements ShopKeeper {
 
     @Override
     public String storeKeeperString() {
-        return CMLib.coffeeShops().storeKeeperString(getShop());
+        return CMLib.aetherShops().storeKeeperString(getShop());
     }
 
     @Override
     public boolean doISellThis(Environmental thisThang) {
-        return CMLib.coffeeShops().doISellThis(thisThang, this);
+        return CMLib.aetherShops().doISellThis(thisThang, this);
     }
 
     @Override
@@ -338,7 +338,7 @@ public class Merchant extends CommonSkill implements ShopKeeper {
         staticMOB.setStartRoom(room);
         staticMOB.setLocation(room);
         if (finalBudget() != null) {
-            if (CMLib.beanCounter().getTotalAbsoluteNativeValue(staticMOB) < finalBudget().first.longValue())
+            if (CMLib.moneyCounter().getTotalAbsoluteNativeValue(staticMOB) < finalBudget().first.longValue())
                 staticMOB.setMoney(finalBudget().first.intValue());
         }
         return staticMOB;
@@ -370,26 +370,26 @@ public class Merchant extends CommonSkill implements ShopKeeper {
                         shopperM.tell(shopperM, null, null, L("You'll have to talk to <S-NAME> about that."));
                         return false;
                     }
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), merchantM))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), merchantM))
                         return false;
-                    final double budgetRemaining = CMLib.beanCounter().getTotalAbsoluteValue(merchantM, CMLib.beanCounter().getCurrency(merchantM));
+                    final double budgetRemaining = CMLib.moneyCounter().getTotalAbsoluteValue(merchantM, CMLib.moneyCounter().getCurrency(merchantM));
                     final double budgetMax = budgetRemaining * 100;
-                    if (CMLib.coffeeShops().standardSellEvaluation(merchantM, msg.source(), msg.tool(), this, budgetRemaining, budgetMax, msg.targetMinor() == CMMsg.TYP_SELL))
+                    if (CMLib.aetherShops().standardSellEvaluation(merchantM, msg.source(), msg.tool(), this, budgetRemaining, budgetMax, msg.targetMinor() == CMMsg.TYP_SELL))
                         return super.okMessage(myHost, msg);
                     return false;
                 }
                 case CMMsg.TYP_BUY:
                 case CMMsg.TYP_VIEW: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), merchantM))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), merchantM))
                         return false;
                     if ((msg.targetMinor() == CMMsg.TYP_BUY) && (msg.tool() != null) && (!msg.tool().okMessage(myHost, msg)))
                         return false;
-                    if (CMLib.coffeeShops().standardBuyEvaluation(merchantM, msg.source(), msg.tool(), this, msg.targetMinor() == CMMsg.TYP_BUY))
+                    if (CMLib.aetherShops().standardBuyEvaluation(merchantM, msg.source(), msg.tool(), this, msg.targetMinor() == CMMsg.TYP_BUY))
                         return super.okMessage(myHost, msg);
                     return false;
                 }
                 case CMMsg.TYP_LIST:
-                    CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), merchantM);
+                    CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), merchantM);
                     break;
                 default:
                     break;
@@ -465,7 +465,7 @@ public class Merchant extends CommonSkill implements ShopKeeper {
                 case CMMsg.TYP_VALUE:
                     super.executeMsg(myHost, msg);
                     if (merchantM.isMonster())
-                        CMLib.commands().postSay(merchantM, mob, L("I'll give you @x1 for @x2.", CMLib.beanCounter().nameCurrencyShort(merchantM, CMLib.coffeeShops().pawningPrice(merchantM, mob, msg.tool(), this).absoluteGoldPrice), msg.tool().name()), true, false);
+                        CMLib.commands().postSay(merchantM, mob, L("I'll give you @x1 for @x2.", CMLib.moneyCounter().nameCurrencyShort(merchantM, CMLib.aetherShops().pawningPrice(merchantM, mob, msg.tool(), this).absoluteGoldPrice), msg.tool().name()), true, false);
                     break;
                 case CMMsg.TYP_VIEW:
                     super.executeMsg(myHost, msg);
@@ -478,41 +478,41 @@ public class Merchant extends CommonSkill implements ShopKeeper {
                 case CMMsg.TYP_SELL: // sell TO -- this is a shopkeeper purchasing from a player
                 {
                     super.executeMsg(myHost, msg);
-                    CMLib.coffeeShops().transactPawn(merchantM, msg.source(), this, msg.tool());
+                    CMLib.aetherShops().transactPawn(merchantM, msg.source(), this, msg.tool());
                     break;
                 }
                 case CMMsg.TYP_BUY: {
                     super.executeMsg(myHost, msg);
-                    final MOB mobFor = CMLib.coffeeShops().parseBuyingFor(msg.source(), msg.targetMessage());
+                    final MOB mobFor = CMLib.aetherShops().parseBuyingFor(msg.source(), msg.targetMessage());
                     if ((msg.tool() != null)
                         && (getShop().doIHaveThisInStock("$" + msg.tool().Name() + "$", mobFor))
                         && (merchantM.location() != null)) {
                         final Environmental item = getShop().getStock("$" + msg.tool().Name() + "$", mobFor);
                         if (item != null)
-                            CMLib.coffeeShops().transactMoneyOnly(merchantM, msg.source(), this, item, !merchantM.isMonster());
+                            CMLib.aetherShops().transactMoneyOnly(merchantM, msg.source(), this, item, !merchantM.isMonster());
 
                         final List<Environmental> products = getShop().removeSellableProduct("$" + msg.tool().Name() + "$", mobFor);
                         if (products.size() == 0)
                             break;
                         final Environmental product = products.get(0);
                         if (product instanceof Item) {
-                            if (!CMLib.coffeeShops().purchaseItems((Item) product, products, merchantM, mobFor))
+                            if (!CMLib.aetherShops().purchaseItems((Item) product, products, merchantM, mobFor))
                                 return;
                         } else if (product instanceof MOB) {
-                            if (CMLib.coffeeShops().purchaseMOB((MOB) product, merchantM, this, mobFor)) {
+                            if (CMLib.aetherShops().purchaseMOB((MOB) product, merchantM, this, mobFor)) {
                                 msg.modify(msg.source(), msg.target(), product, msg.sourceCode(), msg.sourceMessage(), msg.targetCode(), msg.targetMessage(), msg.othersCode(), msg.othersMessage());
                                 product.executeMsg(myHost, msg);
                             }
                         } else if (product instanceof Ability)
-                            CMLib.coffeeShops().purchaseAbility((Ability) product, merchantM, this, mobFor);
+                            CMLib.aetherShops().purchaseAbility((Ability) product, merchantM, this, mobFor);
                     }
                     break;
                 }
                 case CMMsg.TYP_LIST: {
                     super.executeMsg(myHost, msg);
                     final Vector<Environmental> inventory = new XVector<Environmental>(getShop().getStoreInventory());
-                    final String forMask = CMLib.coffeeShops().getListForMask(msg.targetMessage());
-                    final String s = CMLib.coffeeShops().getListInventory(merchantM, mob, inventory, 0, this, forMask);
+                    final String forMask = CMLib.aetherShops().getListForMask(msg.targetMessage());
+                    final String s = CMLib.aetherShops().getListInventory(merchantM, mob, inventory, 0, this, forMask);
                     if (s.length() > 0)
                         mob.tell(s);
                     break;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_BrownMold.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_BrownMold.java
index d238714426..5870b0ae37 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_BrownMold.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_BrownMold.java
@@ -200,7 +200,7 @@ public class Chant_BrownMold extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.setStartRoom(null); // keep before postFollow for Conquest
         CMLib.commands().postFollow(newMOB, caster, true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_CallMate.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_CallMate.java
index 1a23570ebc..a537005822 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_CallMate.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_CallMate.java
@@ -247,7 +247,7 @@ public class Chant_CallMate extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         if (victim != null) {
             if (victim.getVictim() != newMOB)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_HowlersMoon.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_HowlersMoon.java
index 48c3f97f10..13c7d560ed 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_HowlersMoon.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_HowlersMoon.java
@@ -142,7 +142,7 @@ public class Chant_HowlersMoon extends Chant {
                 final Room newRoom = room.getRoomInDir(fromDir);
                 final int opDir = Directions.getOpDirectionCode(fromDir);
                 target.bringToLife(newRoom, true);
-                CMLib.beanCounter().clearZeroMoney(target, null);
+                CMLib.moneyCounter().clearZeroMoney(target, null);
                 target.setMoneyVariation(0);
                 target.location().showOthers(target, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
                 newRoom.recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_KillerVine.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_KillerVine.java
index 33f1bc7881..865eba9add 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_KillerVine.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_KillerVine.java
@@ -88,7 +88,7 @@ public class Chant_KillerVine extends Chant_SummonVine {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.setStartRoom(null); // keep before postFollow for Conquest
         CMLib.commands().postFollow(newMOB, caster, true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_PoisonousVine.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_PoisonousVine.java
index 27c9f1f1b3..384e91952e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_PoisonousVine.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_PoisonousVine.java
@@ -124,7 +124,7 @@ public class Chant_PoisonousVine extends Chant_SummonVine {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.setStartRoom(null); // keep before postFollow for Conquest
         CMLib.commands().postFollow(newMOB, caster, true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SaplingWorkers.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SaplingWorkers.java
index a1e35058fb..a0d62e6c59 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SaplingWorkers.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SaplingWorkers.java
@@ -268,7 +268,7 @@ public class Chant_SaplingWorkers extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.setAttributesBitmap(0);
         newMOB.setAttribute(MOB.Attrib.AUTOASSIST, true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SenseWater.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SenseWater.java
index add7794014..accfce599e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SenseWater.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SenseWater.java
@@ -142,7 +142,7 @@ public class Chant_SenseWater extends Chant {
                 if (msg2.length() > 0)
                     return E.name() + " is carrying some water.";
             }
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(E);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(E);
             if (SK != null) {
                 final StringBuffer msg2 = new StringBuffer("");
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SpeakWithAnimals.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SpeakWithAnimals.java
index 867812a120..89d99c793c 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SpeakWithAnimals.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SpeakWithAnimals.java
@@ -235,7 +235,7 @@ public class Chant_SpeakWithAnimals extends Chant implements Language {
                         else if ((msg.othersMessage() != null) && (msg.othersMessage().indexOf('\'') > 0)) {
                             String otherMes = msg.othersMessage();
                             if (msg.target() != null)
-                                otherMes = CMLib.coffeeFilter().fullOutFilter((mob).session(), mob, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                                otherMes = CMLib.aetherFilter().fullOutFilter((mob).session(), mob, msg.source(), msg.target(), msg.tool(), otherMes, false);
                             msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, msg.othersCode(), CMMsg.NO_EFFECT, L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, str), msg.tool().name())));
                         }
                     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonAnimal.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonAnimal.java
index 58f81dfe89..0fd7ab5ef7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonAnimal.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonAnimal.java
@@ -172,7 +172,7 @@ public class Chant_SummonAnimal extends Chant {
                 room.send(mob, msg);
                 final MOB target = determineMonster(mob, adjustedLevel(mob, asLevel));
                 target.bringToLife(newRoom, true);
-                CMLib.beanCounter().clearZeroMoney(target, null);
+                CMLib.moneyCounter().clearZeroMoney(target, null);
                 target.setMoneyVariation(0);
                 newRoom.showOthers(target, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
                 newRoom.recoverRoomStats();
@@ -352,7 +352,7 @@ public class Chant_SummonAnimal extends Chant {
 
         MOB genM = CMClass.getMOB("GenMob");
         for (String stat : genM.getStatCodes())
-            genM.setStat(stat, CMLib.coffeeMaker().getGenMobStat(newMOB, stat));
+            genM.setStat(stat, CMLib.aetherMaker().getGenMobStat(newMOB, stat));
         genM.setBaseCharStats((CharStats) newMOB.baseCharStats().copyOf());
         genM.setBasePhyStats((PhyStats) newMOB.basePhyStats().copyOf());
         genM.setBaseState((CharState) newMOB.baseState().copyOf());
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonDustdevil.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonDustdevil.java
index 2e0ba28183..dafad7cb5a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonDustdevil.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonDustdevil.java
@@ -272,7 +272,7 @@ public class Chant_SummonDustdevil extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appear(s)!"));
         newMOB.setStartRoom(null);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonElemental.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonElemental.java
index 90dcf9d8ca..1570d50ea7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonElemental.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonElemental.java
@@ -223,7 +223,7 @@ public class Chant_SummonElemental extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         newMOB.setStartRoom(null);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonFlyTrap.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonFlyTrap.java
index a62cc60923..284a32195b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonFlyTrap.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonFlyTrap.java
@@ -214,7 +214,7 @@ public class Chant_SummonFlyTrap extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().show(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> grow(s) from the ground."));
         newMOB.setStartRoom(null);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonMount.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonMount.java
index 96db61dc0b..437eb7bd3f 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonMount.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonMount.java
@@ -169,7 +169,7 @@ public class Chant_SummonMount extends Chant {
                 mob.location().send(mob, msg);
                 final MOB target = determineMonster(mob, adjustedLevel(mob, asLevel));
                 target.bringToLife(newRoom, true);
-                CMLib.beanCounter().clearZeroMoney(target, null);
+                CMLib.moneyCounter().clearZeroMoney(target, null);
                 target.setMoneyVariation(0);
                 target.location().showOthers(target, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
                 newRoom.recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonRockGolem.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonRockGolem.java
index cfcc19092f..704d223c63 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonRockGolem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonRockGolem.java
@@ -207,7 +207,7 @@ public class Chant_SummonRockGolem extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears out of the cave walls!"));
         final MOB victim = caster.getVictim();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonSapling.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonSapling.java
index ebba55835b..420b4ff5bc 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonSapling.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonSapling.java
@@ -243,7 +243,7 @@ public class Chant_SummonSapling extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         if (victim.getVictim() != newMOB)
             victim.setVictim(newMOB);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonVine.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonVine.java
index 7c6a38f7ab..25c6199729 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonVine.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_SummonVine.java
@@ -238,7 +238,7 @@ public class Chant_SummonVine extends Chant {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.setStartRoom(null); // keep before postFollow for Conquest
         CMLib.commands().postFollow(newMOB, caster, true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_VampireVine.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_VampireVine.java
index e0ee968061..6419bb90a3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_VampireVine.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_VampireVine.java
@@ -120,7 +120,7 @@ public class Chant_VampireVine extends Chant_SummonVine {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.setStartRoom(null); // keep before postFollow for Conquest
         CMLib.commands().postFollow(newMOB, caster, true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_VineMass.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_VineMass.java
index 0fc38cd2ae..be2550bcde 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_VineMass.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Chant_VineMass.java
@@ -109,7 +109,7 @@ public class Chant_VineMass extends Chant_SummonVine {
             newMOB.recoverMaxState();
             newMOB.resetToMaxState();
             newMOB.bringToLife(caster.location(), true);
-            CMLib.beanCounter().clearZeroMoney(newMOB, null);
+            CMLib.moneyCounter().clearZeroMoney(newMOB, null);
             newMOB.setMoneyVariation(0);
             if (victim.getVictim() != newMOB)
                 victim.setVictim(newMOB);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Druid_PackCall.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Druid_PackCall.java
index c77ef71572..9ff6fa8958 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Druid_PackCall.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Druid/Druid_PackCall.java
@@ -242,7 +242,7 @@ public class Druid_PackCall extends StdAbility {
                     newMOB.recoverMaxState();
                     newMOB.resetToMaxState();
                     newMOB.bringToLife(mob.location(), true);
-                    CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                    CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                     newMOB.setMoneyVariation(0);
                     if (victim.getVictim() != newMOB)
                         victim.setVictim(newMOB);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Fighter/Fighter_CatchProjectile.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Fighter/Fighter_CatchProjectile.java
index 9d3933820f..eacff2cc0e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Fighter/Fighter_CatchProjectile.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Fighter/Fighter_CatchProjectile.java
@@ -113,7 +113,7 @@ public class Fighter_CatchProjectile extends FighterSkill {
                     return true;
                 if (ammo.endsWith("s"))
                     ammo = ammo.substring(0, ammo.length() - 1);
-                final Item neww = CMLib.coffeeMaker().makeAmmunition(ammo, 1);
+                final Item neww = CMLib.aetherMaker().makeAmmunition(ammo, 1);
                 neww.setMaterial(w.material());
                 w = neww;
                 mob.location().addItem(neww, ItemPossessor.Expire.Player_Drop);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/Semaphore.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/Semaphore.java
index 1948801211..93d36d03eb 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/Semaphore.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/Semaphore.java
@@ -221,7 +221,7 @@ public class Semaphore extends StdLanguage {
             if ((otherMes.lastIndexOf('\'') == otherMes.indexOf('\'')))
                 otherMes = otherMes.replace('.', ' ') + '\'' + sourceWords + '\'';
             if (msg.target() != null)
-                otherMes = CMLib.coffeeFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                otherMes = CMLib.aetherFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
             msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, null, msg.othersCode(), L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, sourceWords), name()), CMMsg.NO_EFFECT, null));
             return true;
         }
@@ -235,7 +235,7 @@ public class Semaphore extends StdLanguage {
             if ((otherMes.lastIndexOf('\'') == otherMes.indexOf('\'')))
                 otherMes = otherMes.replace('.', ' ') + '\'' + sourceWords + '\'';
             if (msg.target() != null)
-                otherMes = CMLib.coffeeFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                otherMes = CMLib.aetherFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
             msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, null, msg.targetCode(), L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, sourceWords), name()), CMMsg.NO_EFFECT, null));
             return true;
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/SignLanguage.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/SignLanguage.java
index 1afc5c49de..1c2d58c39c 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/SignLanguage.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/SignLanguage.java
@@ -169,7 +169,7 @@ public class SignLanguage extends StdLanguage {
             if ((otherMes.lastIndexOf('\'') == otherMes.indexOf('\'')))
                 otherMes = otherMes.replace('.', ' ') + '\'' + sourceWords + '\'';
             if (msg.target() != null)
-                otherMes = CMLib.coffeeFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                otherMes = CMLib.aetherFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
             msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, null, msg.othersCode(), L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, sourceWords), name()), CMMsg.NO_EFFECT, null));
             return true;
         }
@@ -183,7 +183,7 @@ public class SignLanguage extends StdLanguage {
             if ((otherMes.lastIndexOf('\'') == otherMes.indexOf('\'')))
                 otherMes = otherMes.replace('.', ' ') + '\'' + sourceWords + '\'';
             if (msg.target() != null)
-                otherMes = CMLib.coffeeFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                otherMes = CMLib.aetherFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
             msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, null, msg.targetCode(), L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, sourceWords), name()), CMMsg.NO_EFFECT, null));
             return true;
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/StdLanguage.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/StdLanguage.java
index 1c4206c87a..3400eacc30 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/StdLanguage.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/StdLanguage.java
@@ -481,7 +481,7 @@ public class StdLanguage extends StdAbility implements Language {
         if ((msg.othersMessage() != null) && (msg.othersMessage().indexOf('\'') > 0)) {
             String otherMes = msg.othersMessage();
             if (msg.target() != null)
-                otherMes = CMLib.coffeeFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                otherMes = CMLib.aetherFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
             msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, null, msg.othersCode(), L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, sourceWords), name()), CMMsg.NO_EFFECT, null));
             return true;
         }
@@ -492,7 +492,7 @@ public class StdLanguage extends StdAbility implements Language {
         if (msg.amITarget(affected) && (msg.targetMessage() != null)) {
             String otherMes = msg.targetMessage();
             if (msg.target() != null)
-                otherMes = CMLib.coffeeFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                otherMes = CMLib.aetherFilter().fullOutFilter(null, (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
             msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, null, msg.targetCode(), L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, sourceWords), name()), CMMsg.NO_EFFECT, null));
             return true;
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/ThievesCant.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/ThievesCant.java
index dfa8eeacd1..a1882b57f3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/ThievesCant.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Languages/ThievesCant.java
@@ -29,7 +29,7 @@ import java.util.Vector;
     Modified by Xalan of Sancara
 	www.Sancara.co.uk
 	Sancara.servegame.com Port 5555
-	Respect to all who work on Coffee, keep the tradition going!
+	Respect to all who work on Aether, keep the tradition going!
 */
 
 public class ThievesCant extends StdLanguage {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/Age.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/Age.java
index 89c772c376..afc46873f1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/Age.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/Age.java
@@ -288,7 +288,7 @@ public class Age extends StdAbility {
                         }
                         babe.text();
                         babe.bringToLife(R, true);
-                        CMLib.beanCounter().clearZeroMoney(babe, null);
+                        CMLib.moneyCounter().clearZeroMoney(babe, null);
                         babe.setMoneyVariation(0);
                         babe.setFollowing(following);
                         R.show(babe, null, CMMsg.MSG_NOISYMOVEMENT, L("<S-NAME> JUST TOOK <S-HIS-HER> FIRST STEPS!!!"));
@@ -450,7 +450,7 @@ public class Age extends StdAbility {
                     newMan.setFollowing(null);
                     newMan.setLiegeID(babe.getLiegeID());
                     newMan.setLocation(babe.location());
-                    CMLib.beanCounter().setMoney(newMan, CMLib.beanCounter().getMoney(babe));
+                    CMLib.moneyCounter().setMoney(newMan, CMLib.moneyCounter().getMoney(babe));
                     newMan.setName(babe.Name());
                     newMan.setPractices(babe.getPractices());
                     newMan.setQuestPoint(babe.getQuestPoint());
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/Pregnancy.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/Pregnancy.java
index f82bfc29bc..114caf4f20 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/Pregnancy.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/Pregnancy.java
@@ -305,7 +305,7 @@ public class Pregnancy extends StdAbility implements HealthCondition {
                             babe.setLiegeID(mob.getLiegeID());
                             babe.setDescription(desc);
                             babe.setDisplayText(L("@x1 is here.", name));
-                            CMLib.beanCounter().clearZeroMoney(babe, null);
+                            CMLib.moneyCounter().clearZeroMoney(babe, null);
                             babe.setMoneyVariation(0);
                             babe.baseCharStats().setMyRace(R);
                             babe.baseCharStats().setMyClasses("Apprentice");
@@ -389,7 +389,7 @@ public class Pregnancy extends StdAbility implements HealthCondition {
                                 }
                             }
                             if ((mob.playerStats() != null) || ((otherParentM != null) && (otherParentM.playerStats() != null))) {
-                                CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_BIRTHS);
+                                CMLib.aetherTables().bump(mob, AetherTableRow.STAT_BIRTHS);
                                 final List<String> channels = CMLib.channels().getFlaggedChannelNames(ChannelsLibrary.ChannelFlag.BIRTHS);
                                 for (int i = 0; i < channels.size(); i++)
                                     CMLib.commands().postChannel(mob, channels.get(i), L("@x1 has just given birth to @x2!", mob.name(), I.name()), true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/SoundEcho.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/SoundEcho.java
index 42f9768514..bd536b8508 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/SoundEcho.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Misc/SoundEcho.java
@@ -107,15 +107,15 @@ public class SoundEcho extends StdAbility {
                     range = 10;
                 final Room sourceRoom = msg.source().location();
                 String str = msg.othersMessage();
-                str = CMLib.coffeeFilter().fullOutFilter(null, blindMOB(), msg.source(), msg.target(), msg.tool(), str, false);
+                str = CMLib.aetherFilter().fullOutFilter(null, blindMOB(), msg.source(), msg.target(), msg.tool(), str, false);
                 CMMsg echoMsg = (CMMsg) msg.copyOf();
                 final Vector<Room> doneRooms = new Vector<Room>();
                 if (echoMsg.sourceMessage() != null)
-                    echoMsg.setSourceMessage("You hear an echo: " + CMLib.coffeeFilter().fullOutFilter(null, blindMOB(), msg.source(), msg.target(), msg.tool(), msg.sourceMessage(), false));
+                    echoMsg.setSourceMessage("You hear an echo: " + CMLib.aetherFilter().fullOutFilter(null, blindMOB(), msg.source(), msg.target(), msg.tool(), msg.sourceMessage(), false));
                 if (echoMsg.targetMessage() != null)
-                    echoMsg.setTargetMessage("You hear an echo: " + CMLib.coffeeFilter().fullOutFilter(null, blindMOB(), msg.source(), msg.target(), msg.tool(), msg.targetMessage(), false));
+                    echoMsg.setTargetMessage("You hear an echo: " + CMLib.aetherFilter().fullOutFilter(null, blindMOB(), msg.source(), msg.target(), msg.tool(), msg.targetMessage(), false));
                 if (echoMsg.othersMessage() != null)
-                    echoMsg.setOthersMessage("You hear an echo: " + CMLib.coffeeFilter().fullOutFilter(null, blindMOB(), msg.source(), msg.target(), msg.tool(), msg.othersMessage(), false));
+                    echoMsg.setOthersMessage("You hear an echo: " + CMLib.aetherFilter().fullOutFilter(null, blindMOB(), msg.source(), msg.target(), msg.tool(), msg.othersMessage(), false));
                 msg.addTrailerMsg(echoMsg);
                 echoMsg = CMClass.getMsg(msg.source(), msg.target(), msg.tool(), CMMsg.NO_EFFECT, null, CMMsg.NO_EFFECT, null, msg.othersCode(), str);
                 final Vector<Room> rooms = new Vector<Room>();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Paladin/Paladin_SummonMount.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Paladin/Paladin_SummonMount.java
index 8f635e7604..94a0ae13e5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Paladin/Paladin_SummonMount.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Paladin/Paladin_SummonMount.java
@@ -177,7 +177,7 @@ public class Paladin_SummonMount extends StdAbility {
                 mob.location().send(mob, msg);
                 final MOB target = determineMonster(mob, adjustedLevel(mob, asLevel));
                 target.bringToLife(newRoom, true);
-                CMLib.beanCounter().clearZeroMoney(target, null);
+                CMLib.moneyCounter().clearZeroMoney(target, null);
                 target.setMoneyVariation(0);
                 target.location().showOthers(target, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
                 newRoom.recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateDead.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateDead.java
index bed1aea6e1..bec41fe08b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateDead.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateDead.java
@@ -179,7 +179,7 @@ public class Prayer_AnimateDead extends Prayer {
                 newMOB.resetToMaxState();
                 newMOB.text();
                 newMOB.bringToLife(mob.location(), true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 //newMOB.location().showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
                 int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhast.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhast.java
index 82451016c5..2f6835d689 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhast.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhast.java
@@ -214,7 +214,7 @@ public class Prayer_AnimateGhast extends Prayer {
                 newMOB.addNonUninvokableEffect(CMClass.getAbility("Prop_ModExperience"));
                 newMOB.text();
                 newMOB.bringToLife(mob.location(), true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 //newMOB.location().showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
                 int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhost.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhost.java
index 31e00aea74..b95c534d91 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhost.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhost.java
@@ -186,7 +186,7 @@ public class Prayer_AnimateGhost extends Prayer {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(R, true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         //R.showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
         int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhoul.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhoul.java
index d681dff2cc..a691d73a68 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhoul.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateGhoul.java
@@ -208,7 +208,7 @@ public class Prayer_AnimateGhoul extends Prayer {
                 newMOB.addNonUninvokableEffect(CMClass.getAbility("Spell_CauseStink"));
                 newMOB.text();
                 newMOB.bringToLife(mob.location(), true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 //newMOB.location().showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
                 int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateMummy.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateMummy.java
index 7ac975a27e..5a601f1212 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateMummy.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateMummy.java
@@ -207,7 +207,7 @@ public class Prayer_AnimateMummy extends Prayer {
                 }
                 newMOB.text();
                 newMOB.bringToLife(mob.location(), true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 //newMOB.location().showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
                 int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateSkeleton.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateSkeleton.java
index 49e2f14d82..0b3d2b0172 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateSkeleton.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateSkeleton.java
@@ -170,7 +170,7 @@ public class Prayer_AnimateSkeleton extends Prayer {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(R, true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         //R.showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
         int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateSpectre.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateSpectre.java
index 5b1f6b9ea5..9566f18089 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateSpectre.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateSpectre.java
@@ -208,7 +208,7 @@ public class Prayer_AnimateSpectre extends Prayer {
                 newMOB.addBehavior(B);
                 newMOB.text();
                 newMOB.bringToLife(mob.location(), true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 //newMOB.location().showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
                 int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateVampire.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateVampire.java
index f18850405c..b97f51494f 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateVampire.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateVampire.java
@@ -228,7 +228,7 @@ public class Prayer_AnimateVampire extends Prayer {
                 newMOB.addBehavior(B);
                 newMOB.text();
                 newMOB.bringToLife(mob.location(), true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 //newMOB.location().showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
                 int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateZombie.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateZombie.java
index 9d7f4412b4..02475ad7d5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateZombie.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_AnimateZombie.java
@@ -205,7 +205,7 @@ public class Prayer_AnimateZombie extends Prayer {
                 newMOB.resetToMaxState();
                 newMOB.text();
                 newMOB.bringToLife(mob.location(), true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 //newMOB.location().showOthers(newMOB,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
                 int it = 0;
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Annul.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Annul.java
index d4a82f1848..3f841088b1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Annul.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Annul.java
@@ -18,7 +18,7 @@ package com.syncleus.aethermud.game.Abilities.Prayers;
 
 import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
 import com.syncleus.aethermud.game.Common.interfaces.CMMsg;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Items.interfaces.Wearable;
 import com.syncleus.aethermud.game.Libraries.interfaces.ChannelsLibrary;
 import com.syncleus.aethermud.game.MOBS.interfaces.MOB;
@@ -79,7 +79,7 @@ public class Prayer_Annul extends Prayer {
             final CMMsg msg = CMClass.getMsg(mob, target, this, verbalCastCode(mob, target, auto), auto ? "" : L("^S<S-NAME> annul(s) the marriage between <T-NAMESELF> and @x1.^?", target.getLiegeID()));
             if (mob.location().okMessage(mob, msg)) {
                 if ((!target.isMonster()) && (target.soulMate() == null))
-                    CMLib.coffeeTables().bump(target, CoffeeTableRow.STAT_DIVORCES);
+                    CMLib.aetherTables().bump(target, AetherTableRow.STAT_DIVORCES);
                 mob.location().send(mob, msg);
                 final List<String> channels = CMLib.channels().getFlaggedChannelNames(ChannelsLibrary.ChannelFlag.DIVORCES);
                 for (int i = 0; i < channels.size(); i++)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_DailyBread.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_DailyBread.java
index 940fae7413..ba55a66f75 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_DailyBread.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_DailyBread.java
@@ -105,7 +105,7 @@ public class Prayer_DailyBread extends Prayer {
         if ((Bread != null) && (BreadContainer != null))
             CMLib.commands().postGet(target, BreadContainer, Bread, false);
         if (Bread == null) {
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(target);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(target);
             if (SK != null) {
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                     final Environmental E2 = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Divorce.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Divorce.java
index 4e14dcc3f7..f49bed7141 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Divorce.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Divorce.java
@@ -17,9 +17,9 @@
 package com.syncleus.aethermud.game.Abilities.Prayers;
 
 import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Common.interfaces.CMMsg;
 import com.syncleus.aethermud.game.Common.interfaces.CharStats;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
 import com.syncleus.aethermud.game.Items.interfaces.Coins;
 import com.syncleus.aethermud.game.Items.interfaces.Item;
 import com.syncleus.aethermud.game.Items.interfaces.Wearable;
@@ -87,7 +87,7 @@ public class Prayer_Divorce extends Prayer {
             final CMMsg msg = CMClass.getMsg(mob, target, this, verbalCastCode(mob, target, auto), auto ? "" : L("^S<S-NAME> divorce(s) <T-NAMESELF> from @x1.^?", target.getLiegeID()));
             if (mob.location().okMessage(mob, msg)) {
                 if ((!target.isMonster()) && (target.soulMate() == null))
-                    CMLib.coffeeTables().bump(target, CoffeeTableRow.STAT_DIVORCES);
+                    CMLib.aetherTables().bump(target, AetherTableRow.STAT_DIVORCES);
                 mob.location().send(mob, msg);
                 String maleName = target.Name();
                 String femaleName = target.getLiegeID();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Marry.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Marry.java
index 84100184a0..a71ea95b02 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Marry.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Marry.java
@@ -19,7 +19,7 @@ package com.syncleus.aethermud.game.Abilities.Prayers;
 import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
 import com.syncleus.aethermud.game.Common.interfaces.CMMsg;
 import com.syncleus.aethermud.game.Common.interfaces.CharStats;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Items.interfaces.Item;
 import com.syncleus.aethermud.game.Items.interfaces.Wearable;
 import com.syncleus.aethermud.game.Libraries.interfaces.ChannelsLibrary;
@@ -107,7 +107,7 @@ public class Prayer_Marry extends Prayer {
             mob.tell(L("@x1 must be a player to marry.", husband.name()));
             return false;
         }
-        CMLib.coffeeTables().bump(husband, CoffeeTableRow.STAT_BIRTHS);
+        CMLib.aetherTables().bump(husband, AetherTableRow.STAT_BIRTHS);
         Item I = husband.fetchItem(null, Wearable.FILTER_WORNONLY, "wedding band");
         if (I == null) {
             mob.tell(L("@x1 isn't wearing a wedding band!", husband.name()));
@@ -142,7 +142,7 @@ public class Prayer_Marry extends Prayer {
                 mob.location().send(mob, msg);
                 husband.setLiegeID(wife.Name());
                 wife.setLiegeID(husband.Name());
-                CMLib.coffeeTables().bump(husband, CoffeeTableRow.STAT_MARRIAGES);
+                CMLib.aetherTables().bump(husband, AetherTableRow.STAT_MARRIAGES);
                 CMLib.commands().postSay(mob, husband, L("You may kiss your bride!"), false, false);
                 final List<String> channels = CMLib.channels().getFlaggedChannelNames(ChannelsLibrary.ChannelFlag.MARRIAGES);
                 for (int i = 0; i < channels.size(); i++)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SenseTraps.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SenseTraps.java
index 7cb811bfea..eb466ad919 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SenseTraps.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SenseTraps.java
@@ -141,7 +141,7 @@ public class Prayer_SenseTraps extends Prayer {
                 if (trapCheck(I).length() > 0)
                     return P.name() + " is carrying something trapped.\n";
             }
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(P);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(P);
             if (SK != null) {
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                     final Environmental E2 = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SnakeStaff.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SnakeStaff.java
index 6a1b8fc2b8..cb62842a01 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SnakeStaff.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SnakeStaff.java
@@ -232,7 +232,7 @@ public class Prayer_SnakeStaff extends Prayer {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> forms from @x1!", staffName));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SummonElemental.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SummonElemental.java
index 44faa794df..ad6380b9ec 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SummonElemental.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_SummonElemental.java
@@ -218,7 +218,7 @@ public class Prayer_SummonElemental extends Prayer {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Tithe.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Tithe.java
index a7b6290dc6..e8a4716975 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Tithe.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Prayers/Prayer_Tithe.java
@@ -105,19 +105,19 @@ public class Prayer_Tithe extends Prayer {
             if ((invoker() != msg.source()) && ((num / 10) > 0)) {
                 invoker().tell(msg.source(), null, null, L("<S-NAME> tithes."));
                 final String currency = ((Coins) msg.target()).getCurrency();
-                CMLib.beanCounter().addMoney(invoker(), currency, CMath.mul(((Coins) msg.target()).getDenomination(), (num / 10)));
+                CMLib.moneyCounter().addMoney(invoker(), currency, CMath.mul(((Coins) msg.target()).getDenomination(), (num / 10)));
             }
         }
         if ((msg.sourceMinor() == CMMsg.TYP_BUY)
             && (msg.amITarget(affected))
             && (msg.tool() != null)) {
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(affected);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(affected);
             if (SK.getShop().doIHaveThisInStock("$" + msg.tool().Name() + "$", msg.source())) {
-                final ShopKeeper.ShopPrice price = CMLib.coffeeShops().sellingPrice((MOB) affected, msg.source(), msg.tool(), SK, true);
-                if ((price.absoluteGoldPrice > 0.0) && (price.absoluteGoldPrice <= CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(msg.source(), invoker()))) {
+                final ShopKeeper.ShopPrice price = CMLib.aetherShops().sellingPrice((MOB) affected, msg.source(), msg.tool(), SK, true);
+                if ((price.absoluteGoldPrice > 0.0) && (price.absoluteGoldPrice <= CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(msg.source(), invoker()))) {
                     if (invoker() != msg.target()) {
                         invoker().tell(msg.source(), null, null, L("<S-NAME> tithes."));
-                        CMLib.beanCounter().addMoney(invoker(), CMath.div(price.absoluteGoldPrice, 10.0));
+                        CMLib.moneyCounter().addMoney(invoker(), CMath.div(price.absoluteGoldPrice, 10.0));
                     }
                 }
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_ClosedDayNight.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_ClosedDayNight.java
index 530629a9f0..1a20e525ba 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_ClosedDayNight.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_ClosedDayNight.java
@@ -162,7 +162,7 @@ public class Prop_ClosedDayNight extends Property {
             || (msg.targetMinor() == CMMsg.TYP_WITHDRAW)
             || (msg.targetMinor() == CMMsg.TYP_BORROW)
             || (msg.targetMinor() == CMMsg.TYP_VIEW))) {
-            final ShopKeeper sk = CMLib.coffeeShops().getShopKeeper(affected);
+            final ShopKeeper sk = CMLib.aetherShops().getShopKeeper(affected);
             if (sk != null)
                 CMLib.commands().postSay((MOB) affected, msg.source(), (shopMsg != null) ? shopMsg : L("Sorry, I'm off right now.  Try me tomorrow."), false, false);
             return false;
@@ -258,7 +258,7 @@ public class Prop_ClosedDayNight extends Property {
                         // still tracking...
                         if (CMLib.flags().isTracking(mob))
                             return true;
-                        final ShopKeeper sk = CMLib.coffeeShops().getShopKeeper(affected);
+                        final ShopKeeper sk = CMLib.aetherShops().getShopKeeper(affected);
                         if (sk != null)
                             CMLib.commands().postSay((MOB) affected, null, (shopMsg != null) ? shopMsg : L("Sorry, I'm off right now.  Try me tomorrow."), false, false);
                         final Ability A = CMClass.getAbility("Skill_Track");
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_EnterAdjuster.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_EnterAdjuster.java
index 6618d9d25e..a363ad545a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_EnterAdjuster.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_EnterAdjuster.java
@@ -165,7 +165,7 @@ public class Prop_EnterAdjuster extends Property implements TriggeredAffect {
                 CMLib.players().bumpPrideStat(mob, PrideStat.QUESTPOINTS_EARNED, qp);
             final int newMoney = CMParms.getParmPlus(parameters[0], "coin");
             if (newMoney != 0)
-                CMLib.beanCounter().setMoney(mob, CMLib.beanCounter().getMoney(mob) + newMoney);
+                CMLib.moneyCounter().setMoney(mob, CMLib.moneyCounter().getMoney(mob) + newMoney);
             final int exp = CMParms.getParmPlus(parameters[0], "expe");
             if (exp > 0)
                 CMLib.leveler().postExperience(mob, null, null, exp, false);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_ItemSlot.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_ItemSlot.java
index b84538be2d..b2b276f361 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_ItemSlot.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_ItemSlot.java
@@ -92,7 +92,7 @@ public class Prop_ItemSlot extends Property {
             if (itemXml.startsWith("<ITEM>"))
                 itemXml = "<ITEMS>" + itemXml + "</ITEMS>";
             final List<Item> items = new LinkedList<Item>();
-            CMLib.coffeeMaker().addItemsFromXML(itemXml, items, null);
+            CMLib.aetherMaker().addItemsFromXML(itemXml, items, null);
             int islot = 0;
             int aslot = 0;
             for (Item I : items) {
@@ -122,7 +122,7 @@ public class Prop_ItemSlot extends Property {
             if ((I != null) && (!items.contains(I)))
                 items.add(I);
         }
-        str.append("<ITEMS>" + CMLib.coffeeMaker().getItemsXML(items, new Hashtable<String, List<Item>>(), new HashSet<String>(), null) + "</ITEMS>");
+        str.append("<ITEMS>" + CMLib.aetherMaker().getItemsXML(items, new Hashtable<String, List<Item>>(), new HashSet<String>(), null) + "</ITEMS>");
         return str.toString();
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_Retainable.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_Retainable.java
index bc9643cdb4..8ee972af6e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_Retainable.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_Retainable.java
@@ -138,10 +138,10 @@ public class Prop_Retainable extends Property {
                             mob.destroy();
                             return false;
                         }
-                        final boolean paid = CMLib.beanCounter().modifyLocalBankGold(mob.location().getArea(),
+                        final boolean paid = CMLib.moneyCounter().modifyLocalBankGold(mob.location().getArea(),
                             owner,
-                            CMLib.utensils().getFormattedDate(mob) + ": Withdrawal of " + CMLib.beanCounter().nameCurrencyShort(mob, payAmountPerPayPeriod) + ": Payroll: " + Name(),
-                            CMLib.beanCounter().getCurrency(mob),
+                            CMLib.utensils().getFormattedDate(mob) + ": Withdrawal of " + CMLib.moneyCounter().nameCurrencyShort(mob, payAmountPerPayPeriod) + ": Payroll: " + Name(),
+                            CMLib.moneyCounter().getCurrency(mob),
                             (-payAmountPerPayPeriod));
                         if (paid)
                             CMLib.commands().postSay(mob, null, L("Payday!"), false, false);
@@ -162,7 +162,7 @@ public class Prop_Retainable extends Property {
     public void tellSkills(MOB me, MOB toMe) {
         final StringBuffer skills = new StringBuffer("");
         if (me instanceof ShopKeeper)
-            skills.append(", selling " + CMLib.coffeeShops().storeKeeperString(((ShopKeeper) me).getShop()).toLowerCase());
+            skills.append(", selling " + CMLib.aetherShops().storeKeeperString(((ShopKeeper) me).getShop()).toLowerCase());
         for (final Enumeration<Ability> a = me.allAbilities(); a.hasMoreElements(); ) {
             final Ability A = a.nextElement();
             if (A != null) {
@@ -187,7 +187,7 @@ public class Prop_Retainable extends Property {
                     && (msg.targetMinor() == CMMsg.TYP_BUY)) {
                     tellSkills(mob, msg.source());
                     if (payPeriodLengthInMudDays > 0)
-                        CMLib.commands().postSay(mob, msg.source(), L("I accept your terms of employment, and I understand I will be paid @x1 every @x2 days.", CMLib.beanCounter().abbreviatedPrice(mob, payAmountPerPayPeriod), "" + payPeriodLengthInMudDays), false, false);
+                        CMLib.commands().postSay(mob, msg.source(), L("I accept your terms of employment, and I understand I will be paid @x1 every @x2 days.", CMLib.moneyCounter().abbreviatedPrice(mob, payAmountPerPayPeriod), "" + payPeriodLengthInMudDays), false, false);
                     else
                         CMLib.commands().postSay(mob, msg.source(), L("I accept your terms of employment."), false, false);
                     CMLib.commands().postSay(mob, msg.source(), L("Please show me the way to my permanent post."), false, false);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_RoomForSale.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_RoomForSale.java
index 33e32322c1..e6fab4c10b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_RoomForSale.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_RoomForSale.java
@@ -230,10 +230,10 @@ public class Prop_RoomForSale extends Property implements LandTitle {
                             else if ((lastYear == year) && (lastMonth < month) && (day >= lastDay))
                                 needsToPay = true;
                             if (needsToPay) {
-                                if (CMLib.beanCounter().modifyLocalBankGold(A,
+                                if (CMLib.moneyCounter().modifyLocalBankGold(A,
                                     owner,
                                     CMLib.utensils().getFormattedDate(A) + ":Withdrawal of " + rent + ": Rent for " + ID,
-                                    CMLib.beanCounter().getCurrency(A),
+                                    CMLib.moneyCounter().getCurrency(A),
                                     (-rent))) {
                                     lastMonth++;
                                     if (lastMonth > A.getTimeObj().getMonthsInYear()) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_TicketTaker.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_TicketTaker.java
index 1a874120b0..d3231d52e7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_TicketTaker.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Properties/Prop_TicketTaker.java
@@ -93,13 +93,13 @@ public class Prop_TicketTaker extends Property {
                     case CMMsg.TYP_SIT:
                     case CMMsg.TYP_ENTER:
                     case CMMsg.TYP_SLEEP: {
-                        String currency = CMLib.beanCounter().getCurrency(affected);
+                        String currency = CMLib.moneyCounter().getCurrency(affected);
                         if (currency.length() == 0)
-                            currency = CMLib.beanCounter().getCurrency(mob);
-                        if (CMLib.beanCounter().getTotalAbsoluteValue(mob, currency) >= cost()) {
-                            final String costStr = CMLib.beanCounter().nameCurrencyShort(currency, cost());
+                            currency = CMLib.moneyCounter().getCurrency(mob);
+                        if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency) >= cost()) {
+                            final String costStr = CMLib.moneyCounter().nameCurrencyShort(currency, cost());
                             mob.location().show(mob, myHost, CMMsg.MSG_NOISYMOVEMENT, L("<S-NAME> give(s) @x1 to <T-NAME>.", costStr));
-                            CMLib.beanCounter().subtractMoney(mob, currency, cost());
+                            CMLib.moneyCounter().subtractMoney(mob, currency, cost());
                         }
                     }
                     break;
@@ -125,11 +125,11 @@ public class Prop_TicketTaker extends Property {
                     case CMMsg.TYP_SIT:
                     case CMMsg.TYP_ENTER:
                     case CMMsg.TYP_SLEEP: {
-                        String currency = CMLib.beanCounter().getCurrency(affected);
+                        String currency = CMLib.moneyCounter().getCurrency(affected);
                         if (currency.length() == 0)
-                            currency = CMLib.beanCounter().getCurrency(mob);
-                        if (CMLib.beanCounter().getTotalAbsoluteValue(mob, currency) < cost()) {
-                            final String costStr = CMLib.beanCounter().nameCurrencyLong(currency, cost());
+                            currency = CMLib.moneyCounter().getCurrency(mob);
+                        if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency) < cost()) {
+                            final String costStr = CMLib.moneyCounter().nameCurrencyLong(currency, cost());
                             if (myHost instanceof MOB)
                                 CMLib.commands().postSay((MOB) myHost, mob, L("You'll need @x1 to board.", costStr), false, false);
                             else
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Ranger/Ranger_FindWater.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Ranger/Ranger_FindWater.java
index aff69eb337..a15e8c16e4 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Ranger/Ranger_FindWater.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Ranger/Ranger_FindWater.java
@@ -227,7 +227,7 @@ public class Ranger_FindWater extends StdAbility {
                 if (msg2.length() > 0)
                     return L("@x1 is carrying some liquids.", E.name());
             }
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(E);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(E);
             if (SK != null) {
                 final StringBuffer msg2 = new StringBuffer("");
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Skills/Skill_CollectBounty.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Skills/Skill_CollectBounty.java
index b3f05582c2..a94d39224c 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Skills/Skill_CollectBounty.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Skills/Skill_CollectBounty.java
@@ -205,9 +205,9 @@ public class Skill_CollectBounty extends StdSkill {
                     W = warrants.get(i);
                     gold += (W.punishment() * (5 + getXLEVELLevel(mob)));
                 }
-                mob.location().show(judge, mob, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> pay(s) <T-NAMESELF> the bounty of @x1 on @x2.", CMLib.beanCounter().nameCurrencyShort(judge, gold), target.Name()));
-                final String currency = CMLib.beanCounter().getCurrency(judge);
-                CMLib.beanCounter().giveSomeoneMoney(judge, mob, currency, gold);
+                mob.location().show(judge, mob, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> pay(s) <T-NAMESELF> the bounty of @x1 on @x2.", CMLib.moneyCounter().nameCurrencyShort(judge, gold), target.Name()));
+                final String currency = CMLib.moneyCounter().getCurrency(judge);
+                CMLib.moneyCounter().giveSomeoneMoney(judge, mob, currency, gold);
             }
         } else
             return maliciousFizzle(mob, target, L("<S-NAME> attempt(s) to turn in <T-NAMESELF> to @x1 for the bounty, but can't get @x2 attention.", judge.name(), judge.charStats().hisher()));
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Skills/Skill_HireCrewmember.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Skills/Skill_HireCrewmember.java
index 7087ea9c9e..67846675d6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Skills/Skill_HireCrewmember.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Skills/Skill_HireCrewmember.java
@@ -382,7 +382,7 @@ public class Skill_HireCrewmember extends StdSkill {
             final MOB M = room.fetchInhabitant(m);
             if ((M != null) && (M != mob)) {
                 if (CMLib.flags().canBeSeenBy(M, mob)) {
-                    final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                    final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                     if (SK != null) {
                         for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                             final Environmental E = i.next();
@@ -427,8 +427,8 @@ public class Skill_HireCrewmember extends StdSkill {
             int medLevel = minLevel + (int) Math.round(CMath.ceiling(CMath.div(range, 2.0)));
             double amt = medLevel * 10.0;
             String currency = R.getArea().getCurrency();
-            moneyStr = CMLib.beanCounter().abbreviatedPrice(currency, amt);
-            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, currency) < amt) {
+            moneyStr = CMLib.moneyCounter().abbreviatedPrice(currency, amt);
+            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency) < amt) {
                 mob.tell(L("You need at least @x1 to hire a decent sailor here.", moneyStr));
                 return false;
             }
@@ -446,7 +446,7 @@ public class Skill_HireCrewmember extends StdSkill {
         boolean success = proficiencyCheck(mob, 0, auto);
         if (success) {
             if (money > 0.0)
-                CMLib.beanCounter().subtractMoney(mob, money);
+                CMLib.moneyCounter().subtractMoney(mob, money);
             final MOB targetM = CMClass.getMOB("GenMob");
             final List<Race> races = CMLib.login().raceQualifies(Area.THEME_FANTASY);
             final Race raceR = races.get(CMLib.dice().roll(1, races.size(), -1));
@@ -493,7 +493,7 @@ public class Skill_HireCrewmember extends StdSkill {
             targetM.resetToMaxState();
             targetM.text();
             targetM.bringToLife(R, true);
-            CMLib.beanCounter().clearZeroMoney(targetM, null);
+            CMLib.moneyCounter().clearZeroMoney(targetM, null);
             targetM.setMoneyVariation(0);
             //targetM.location().showOthers(targetM,null,CMMsg.MSG_OK_ACTION,L("<S-NAME> appears!"));
             R.recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_Befriend.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_Befriend.java
index f2c19a84f1..2da191f225 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_Befriend.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_Befriend.java
@@ -164,7 +164,7 @@ public class Skill_Befriend extends BardSkill {
             return false;
         }
 
-        if (CMLib.coffeeShops().getShopKeeper(target) != null) {
+        if (CMLib.aetherShops().getShopKeeper(target) != null) {
             mob.tell(L("You cann't befriend a merchant."));
             return false;
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_QuickChange.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_QuickChange.java
index e001d90375..820cba1843 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_QuickChange.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_QuickChange.java
@@ -91,7 +91,7 @@ public class Skill_QuickChange extends BardSkill {
             final int contStart = super.miscText.lastIndexOf(containerDelim);
             if ((locStart > 0) && (contStart > locStart)) {
                 final List<Item> itemList = new Vector<Item>();
-                CMLib.coffeeMaker().addItemsFromXML(super.miscText.substring(0, locStart), itemList, S);
+                CMLib.aetherMaker().addItemsFromXML(super.miscText.substring(0, locStart), itemList, S);
                 final List<String> itemLocList = CMParms.parseAny(super.miscText.substring(locStart + locationsDelim.length(), contStart), ';', true);
                 final List<String> itemConList = CMParms.parseAny(super.miscText.substring(contStart + containerDelim.length()), ';', true);
                 if ((itemLocList.size() == itemList.size()) && (itemLocList.size() == itemConList.size())) {
@@ -126,7 +126,7 @@ public class Skill_QuickChange extends BardSkill {
         for (final PackedItem I : items)
             itemList.add(I.I);
         final StringBuilder str = new StringBuilder("<ITEMS>");
-        str.append(CMLib.coffeeMaker().getItemsXML(itemList, new Hashtable<String, List<Item>>(), new HashSet<String>(), null));
+        str.append(CMLib.aetherMaker().getItemsXML(itemList, new Hashtable<String, List<Item>>(), new HashSet<String>(), null));
         str.append("</ITEMS>");
         str.append(locationsDelim);
         for (final PackedItem I : items)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_Warrants.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_Warrants.java
index 170a105ae2..ae0e68e856 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_Warrants.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Skill_Warrants.java
@@ -104,7 +104,7 @@ public class Skill_Warrants extends BardSkill {
                     buf.append(CMStrings.padRight(W.criminal().Name(), colWidth) + " ");
                     buf.append(CMStrings.padRight(W.victim() != null ? W.victim().Name() : L("N/A"), colWidth) + " ");
                     buf.append(CMStrings.padRight(W.witness() != null ? W.witness().Name() : L("N/A"), colWidth) + " ");
-                    buf.append(CMLib.coffeeFilter().fullOutFilter(mob.session(), mob, W.criminal(), W.victim(), null, W.crime(), false) + "\n\r");
+                    buf.append(CMLib.aetherFilter().fullOutFilter(mob.session(), mob, W.criminal(), W.victim(), null, W.crime(), false) + "\n\r");
                 }
                 if (!mob.isMonster())
                     mob.session().safeRawPrintln(buf.toString());
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Song_Comprehension.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Song_Comprehension.java
index 2dd2c0163d..c0155017fe 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Song_Comprehension.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Song_Comprehension.java
@@ -72,7 +72,7 @@ public class Song_Comprehension extends Song {
                 else if ((msg.othersMessage() != null) && (msg.othersMessage().indexOf('\'') > 0)) {
                     String otherMes = msg.othersMessage();
                     if (msg.target() != null)
-                        otherMes = CMLib.coffeeFilter().fullOutFilter(((MOB) affected).session(), (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                        otherMes = CMLib.aetherFilter().fullOutFilter(((MOB) affected).session(), (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
                     msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, msg.othersCode(), CMMsg.NO_EFFECT, L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, str), name())));
                 }
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Song_Thanks.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Song_Thanks.java
index 49cef90d47..1fc6e0c825 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Song_Thanks.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Songs/Song_Thanks.java
@@ -91,7 +91,7 @@ public class Song_Thanks extends Song {
             && (CMLib.dice().rollPercentage() > mob.charStats().getSave(CharStats.STAT_SAVE_MAGIC))
             && (CMLib.flags().canMove(mob))
             && (CMLib.flags().canBeSeenBy(invoker, mob))
-            && (CMLib.beanCounter().getTotalAbsoluteNativeValue(mob) > (1.0 + super.getXLEVELLevel(invoker())))) {
+            && (CMLib.moneyCounter().getTotalAbsoluteNativeValue(mob) > (1.0 + super.getXLEVELLevel(invoker())))) {
             switch (CMLib.dice().roll(1, 10, 0)) {
                 case 1:
                     CMLib.commands().postSay(mob, invoker, L("Thank you @x1!", invoker.name()), false, false);
@@ -124,9 +124,9 @@ public class Song_Thanks extends Song {
                     CMLib.commands().postSay(mob, invoker, L("You're the best, @x1! Thanks!", invoker.name()), false, false);
                     break;
             }
-            final Coins C = CMLib.beanCounter().makeBestCurrency(mob, CMath.mul(1.0, super.getXLEVELLevel(invoker())));
+            final Coins C = CMLib.moneyCounter().makeBestCurrency(mob, CMath.mul(1.0, super.getXLEVELLevel(invoker())));
             if (C != null) {
-                CMLib.beanCounter().subtractMoney(mob, CMath.mul(1.0, super.getXLEVELLevel(invoker())));
+                CMLib.moneyCounter().subtractMoney(mob, CMath.mul(1.0, super.getXLEVELLevel(invoker())));
                 mob.addItem(C);
                 mob.doCommand(CMParms.parse("GIVE \"" + C.name() + "\" \"" + invoker.name() + "\""), MUDCmdProcessor.METAFLAG_FORCED);
                 if (!C.amDestroyed())
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Clone.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Clone.java
index 5c5994d323..e16565bfb5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Clone.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Clone.java
@@ -199,7 +199,7 @@ public class Spell_Clone extends Spell {
         newMOB.setSession(null);
         newMOB.delAllBehaviors();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_ComprehendLangs.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_ComprehendLangs.java
index 7a7fde272f..3cb01bffae 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_ComprehendLangs.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_ComprehendLangs.java
@@ -103,7 +103,7 @@ public class Spell_ComprehendLangs extends Spell {
                     else if ((msg.othersMessage() != null) && (msg.othersMessage().indexOf('\'') > 0)) {
                         String otherMes = msg.othersMessage();
                         if (msg.target() != null)
-                            otherMes = CMLib.coffeeFilter().fullOutFilter(((MOB) affected).session(), (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                            otherMes = CMLib.aetherFilter().fullOutFilter(((MOB) affected).session(), (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
                         msg.addTrailerMsg(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, msg.othersCode(), CMMsg.NO_EFFECT, L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, str), msg.tool().name())));
                     }
                 }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DemonGate.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DemonGate.java
index fba82be850..698907c82e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DemonGate.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DemonGate.java
@@ -201,7 +201,7 @@ public class Spell_DemonGate extends Spell {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> tears through the fabric of reality and steps into this world!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectGold.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectGold.java
index 93ee9b8f34..e8317278af 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectGold.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectGold.java
@@ -114,7 +114,7 @@ public class Spell_DetectGold extends Spell {
             metalCheck(mob, (Item) E, container, msg);
             msg.append(metalHere(mob, ((Item) E).owner(), (Item) E));
         } else if ((E instanceof MOB) && (CMLib.flags().canBeSeenBy(E, mob))) {
-            CMLib.beanCounter().getTotalAbsoluteNativeValue((MOB) E);
+            CMLib.moneyCounter().getTotalAbsoluteNativeValue((MOB) E);
             for (int i = 0; i < ((MOB) E).numItems(); i++) {
                 final Item I = ((MOB) E).getItem(i);
                 if (!I.amWearingAt(Wearable.IN_INVENTORY))
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectTraps.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectTraps.java
index bfd543b88b..1d2420cc45 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectTraps.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectTraps.java
@@ -130,7 +130,7 @@ public class Spell_DetectTraps extends Spell {
                 if (trapCheck(I).length() > 0)
                     return P.name() + " is carrying something trapped.";
             }
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(P);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(P);
             if (SK != null) {
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                     final Environmental E2 = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectWater.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectWater.java
index 1d51d5c42e..ec2e618ee1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectWater.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_DetectWater.java
@@ -140,7 +140,7 @@ public class Spell_DetectWater extends Spell {
                 if (msg2.length() > 0)
                     return L("@x1 is carrying some liquids.", E.name());
             }
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(E);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(E);
             if (SK != null) {
                 final StringBuffer msg2 = new StringBuffer("");
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_FindFamiliar.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_FindFamiliar.java
index e7d1e76dec..1a9d55f93b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_FindFamiliar.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_FindFamiliar.java
@@ -228,7 +228,7 @@ public class Spell_FindFamiliar extends Spell {
         newMOB.addNonUninvokableEffect(A);
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_KnowValue.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_KnowValue.java
index 4cf3f1848f..2a338c702f 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_KnowValue.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_KnowValue.java
@@ -78,7 +78,7 @@ public class Spell_KnowValue extends Spell {
                 else if (target.value() == 0)
                     str = L("@x1 is worth hardly anything at all", target.name(mob));
                 else
-                    str = L("@x1 is worth @x2 ", target.name(mob), CMLib.beanCounter().nameCurrencyShort(mob, (double) target.value()));
+                    str = L("@x1 is worth @x2 ", target.name(mob), CMLib.moneyCounter().nameCurrencyShort(mob, (double) target.value()));
                 if (mob.isMonster())
                     CMLib.commands().postSay(mob, null, str, false, false);
                 else
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_LocateObject.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_LocateObject.java
index ada2eac067..d645866591 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_LocateObject.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_LocateObject.java
@@ -155,7 +155,7 @@ public class Spell_LocateObject extends Spell {
                             || ((CMSecurity.isAllowedAnywhere(mob, CMSecurity.SecFlag.CLOAK) || CMSecurity.isAllowedAnywhere(mob, CMSecurity.SecFlag.WIZINV))
                             && (mob.phyStats().level() >= inhab.phyStats().level())))) {
                             item = inhab.findItem(what);
-                            SK = CMLib.coffeeShops().getShopKeeper(inhab);
+                            SK = CMLib.aetherShops().getShopKeeper(inhab);
                             if ((item == null) && (SK != null))
                                 item = SK.getShop().getStock(what, mob);
                             if ((item instanceof Item)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Phantasm.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Phantasm.java
index 143633170e..39c1db19b2 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Phantasm.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Phantasm.java
@@ -230,7 +230,7 @@ public class Spell_Phantasm extends Spell {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PhantomHound.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PhantomHound.java
index 69f13122a0..82de39f97d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PhantomHound.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PhantomHound.java
@@ -209,7 +209,7 @@ public class Spell_PhantomHound extends Spell {
                 newMOB.resetToMaxState();
                 newMOB.text();
                 newMOB.bringToLife(mob.location(), true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
                 newMOB.setStartRoom(null);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PolymorphObject.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PolymorphObject.java
index b5233ab38c..c1a967fd1e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PolymorphObject.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PolymorphObject.java
@@ -107,7 +107,7 @@ public class Spell_PolymorphObject extends Spell {
         super.unInvoke();
         if ((previousItems == null) && (text().length() > 0)) {
             previousItems = new XVector<Item>();
-            CMLib.coffeeMaker().addItemsFromXML(text(), previousItems, null);
+            CMLib.aetherMaker().addItemsFromXML(text(), previousItems, null);
         }
         if (canBeUninvoked() && (affected instanceof Item) && (previousItems != null) && (previousItems.size() > 0)) {
             final Item item = (Item) affected;
@@ -256,7 +256,7 @@ public class Spell_PolymorphObject extends Spell {
                     items.add(targetI);
                     if (targetI instanceof Container)
                         items.addAll(((Container) targetI).getDeepContents());
-                    A.setMiscText(CMLib.coffeeMaker().getItemsXML(items, new Hashtable<String, List<Item>>(), new HashSet<String>(), null).toString());
+                    A.setMiscText(CMLib.aetherMaker().getItemsXML(items, new Hashtable<String, List<Item>>(), new HashSet<String>(), null).toString());
                     A.previousItems = items;
                     ItemPossessor possessor = targetI.owner();
                     if (possessor != null) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PryingEye.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PryingEye.java
index 3bd2a0a5bf..61f19e0429 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PryingEye.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_PryingEye.java
@@ -176,7 +176,7 @@ public class Spell_PryingEye extends Spell {
                 newMOB.recoverMaxState();
                 newMOB.resetToMaxState();
                 newMOB.bringToLife(R, true);
-                CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                 newMOB.setMoneyVariation(0);
                 R.showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
                 newMOB.setStartRoom(null); // keep before postFollow for Conquest
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_RogueLimb.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_RogueLimb.java
index b91f349948..92278ebb69 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_RogueLimb.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_RogueLimb.java
@@ -175,7 +175,7 @@ public class Spell_RogueLimb extends Spell {
                     rogueLimb.resetToMaxState();
                     rogueLimb.setStartRoom(null);
                     rogueLimb.bringToLife(mob.location(), true);
-                    CMLib.beanCounter().clearZeroMoney(rogueLimb, null);
+                    CMLib.moneyCounter().clearZeroMoney(rogueLimb, null);
                     rogueLimb.setMoneyVariation(0);
                     rogueLimb.setVictim(target);
                     maliciousAffect(mob, target, asLevel, 0, -1);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Simulacrum.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Simulacrum.java
index 095de450e9..fd76d49a94 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Simulacrum.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Simulacrum.java
@@ -189,7 +189,7 @@ public class Spell_Simulacrum extends Spell {
 				&&(msg.othersMessage().length()>0)
 				&&(myHost == simulacruM)
 				&&(simulacruM.location() != casterM.location()))
-					casterM.tell(L("^hSimulacrum^N: ^W")+CMLib.coffeeFilter().fullOutFilter(null, null, msg.source(), msg.target(), msg.tool(), CMStrings.removeColors(msg.othersMessage()), false)+"^.^N");
+					casterM.tell(L("^hSimulacrum^N: ^W")+CMLib.aetherFilter().fullOutFilter(null, null, msg.source(), msg.target(), msg.tool(), CMStrings.removeColors(msg.othersMessage()), false)+"^.^N");
 				*/
             }
         }
@@ -265,7 +265,7 @@ public class Spell_Simulacrum extends Spell {
         newMOB.recoverCharStats();
         newMOB.recoverPhyStats();
         newMOB.recoverMaxState();
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SpyingStone.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SpyingStone.java
index 80562052af..f32d82ff33 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SpyingStone.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SpyingStone.java
@@ -94,7 +94,7 @@ public class Spell_SpyingStone extends Spell {
         } else if ((msg.othersCode() != CMMsg.NO_EFFECT)
             && (msg.othersMessage() != null)
             && (msg.othersMessage().length() > 0))
-            msgs.add(CMLib.coffeeFilter().fullOutFilter(null, null, msg.source(), msg.target(), msg.tool(), CMStrings.removeColors(msg.othersMessage()), false));
+            msgs.add(CMLib.aetherFilter().fullOutFilter(null, null, msg.source(), msg.target(), msg.tool(), CMStrings.removeColors(msg.othersMessage()), false));
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonArmy.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonArmy.java
index 5b7e80c497..83b56662b2 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonArmy.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonArmy.java
@@ -133,7 +133,7 @@ public class Spell_SummonArmy extends Spell {
                     newMOB.recoverMaxState();
                     newMOB.resetToMaxState();
                     newMOB.bringToLife(mob.location(), true);
-                    CMLib.beanCounter().clearZeroMoney(newMOB, null);
+                    CMLib.moneyCounter().clearZeroMoney(newMOB, null);
                     newMOB.setMoneyVariation(0);
                     newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
                     newMOB.setStartRoom(null); // keep before postFollow for Conquest
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonEnemy.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonEnemy.java
index 6f5c69b0c0..1605689071 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonEnemy.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonEnemy.java
@@ -222,7 +222,7 @@ public class Spell_SummonEnemy extends Spell {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonFlyer.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonFlyer.java
index de00dbe779..14963e5361 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonFlyer.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonFlyer.java
@@ -197,7 +197,7 @@ public class Spell_SummonFlyer extends Spell {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonMonster.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonMonster.java
index 29e53eb11e..56f377a551 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonMonster.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonMonster.java
@@ -205,7 +205,7 @@ public class Spell_SummonMonster extends Spell {
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
         newMOB.bringToLife(R, true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         R.showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         final MOB victim = caster.getVictim();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonSteed.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonSteed.java
index caf033626e..4c083d61d2 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonSteed.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_SummonSteed.java
@@ -222,7 +222,7 @@ public class Spell_SummonSteed extends Spell {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_WatchfulHound.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_WatchfulHound.java
index 86e6e2d439..65755b1fdb 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_WatchfulHound.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_WatchfulHound.java
@@ -205,7 +205,7 @@ public class Spell_WatchfulHound extends Spell {
         newMOB.resetToMaxState();
         newMOB.text();
         newMOB.bringToLife(caster.location(), true);
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> appears!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Wish.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Wish.java
index 77c222fa4c..5d18a9e993 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Wish.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Spells/Spell_Wish.java
@@ -1055,7 +1055,7 @@ public class Spell_Wish extends Spell {
                     mob.tell(str.toString() + "\n\r");
                     ((MOB) target).baseCharStats().setCurrentClass(C);
                     if ((!((MOB) target).isMonster()) && (((MOB) target).soulMate() == null))
-                        CMLib.coffeeTables().bump(target, CoffeeTableRow.STAT_CLASSCHANGE);
+                        CMLib.aetherTables().bump(target, AetherTableRow.STAT_CLASSCHANGE);
                     ((MOB) target).baseCharStats().getCurrentClass().startCharacter((MOB) target, false, true);
                     ((MOB) target).recoverCharStats();
                     ((MOB) target).recoverPhyStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/StdAbility.java b/src/main/java/com/syncleus/aethermud/game/Abilities/StdAbility.java
index 64686e27a0..5886821bdb 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/StdAbility.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/StdAbility.java
@@ -1147,7 +1147,7 @@ public class StdAbility implements Ability {
             return;
 
         if (!mob.isMonster()) {
-            CMLib.coffeeTables().bump(this, CoffeeTableRow.STAT_SKILLUSE);
+            CMLib.aetherTables().bump(this, AetherTableRow.STAT_SKILLUSE);
             CMLib.achievements().possiblyBumpAchievement(mob, AchievementLibrary.Event.SKILLUSE, 1, this);
         }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/SuperPowers/Power_TrapSense.java b/src/main/java/com/syncleus/aethermud/game/Abilities/SuperPowers/Power_TrapSense.java
index 528906deef..d613e8e079 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/SuperPowers/Power_TrapSense.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/SuperPowers/Power_TrapSense.java
@@ -125,7 +125,7 @@ public class Power_TrapSense extends SuperPower {
                 if (trapCheck(I).length() > 0)
                     return P.name() + " is carrying something trapped.\n";
             }
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(P);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(P);
             if (SK != null) {
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                     final Environmental E2 = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Appraise.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Appraise.java
index fdf7c963c7..a459a141f6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Appraise.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Appraise.java
@@ -125,7 +125,7 @@ public class Thief_Appraise extends ThiefSkill {
             }
             final StringBuffer str = new StringBuffer("");
             str.append(L("@x1 is made of @x2", target.name(mob), RawMaterial.CODES.NAME(materialCode)));
-            str.append(L(" is worth about @x1.", CMLib.beanCounter().nameCurrencyShort(mob, realValue)));
+            str.append(L(" is worth about @x1.", CMLib.moneyCounter().nameCurrencyShort(mob, realValue)));
             if (target instanceof Armor)
                 str.append(L("\n\r@x1 is a size @x2.", target.name(mob), "" + height));
             if (weight != allWeight)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Bribe.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Bribe.java
index b3bf8f9695..617ae5d4e4 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Bribe.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Bribe.java
@@ -132,25 +132,25 @@ public class Thief_Bribe extends ThiefSkill {
         if (!super.invoke(mob, commands, givenTarget, auto, asLevel))
             return false;
 
-        final double amountRequired = CMLib.beanCounter().getTotalAbsoluteNativeValue(target)
+        final double amountRequired = CMLib.moneyCounter().getTotalAbsoluteNativeValue(target)
             + ((double) ((100l - ((mob.charStats().getStat(CharStats.STAT_CHARISMA) + (2l * getXLEVELLevel(mob))) * 2))) * target.phyStats().level());
 
-        final String currency = CMLib.beanCounter().getCurrency(target);
+        final String currency = CMLib.moneyCounter().getCurrency(target);
         boolean success = proficiencyCheck(mob, 0, auto);
 
-        if ((!success) || (CMLib.beanCounter().getTotalAbsoluteValue(mob, currency) < amountRequired)) {
+        if ((!success) || (CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency) < amountRequired)) {
             final CMMsg msg = CMClass.getMsg(mob, target, this, CMMsg.MSG_SPEAK, L("^T<S-NAME> attempt(s) to bribe <T-NAMESELF> to '@x1', but no deal is reached.^?", CMParms.combine(commands, 0)));
             if (mob.location().okMessage(mob, msg))
                 mob.location().send(mob, msg);
-            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, currency) < amountRequired) {
-                final String costWords = CMLib.beanCounter().nameCurrencyShort(currency, amountRequired);
+            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency) < amountRequired) {
+                final String costWords = CMLib.moneyCounter().nameCurrencyShort(currency, amountRequired);
                 mob.tell(L("@x1 requires @x2 to do this.", target.charStats().HeShe(), costWords));
             }
             success = false;
         } else {
-            final String costWords = CMLib.beanCounter().nameCurrencyShort(target, amountRequired);
+            final String costWords = CMLib.moneyCounter().nameCurrencyShort(target, amountRequired);
             final CMMsg msg = CMClass.getMsg(mob, target, this, CMMsg.MSG_SPEAK, L("^T<S-NAME> bribe(s) <T-NAMESELF> to '@x1' for @x2.^?", CMParms.combine(commands, 0), costWords));
-            CMLib.beanCounter().subtractMoney(mob, currency, amountRequired);
+            CMLib.moneyCounter().subtractMoney(mob, currency, amountRequired);
             mob.recoverPhyStats();
             final CMMsg omsg = CMClass.getMsg(mob, target, null, CMMsg.MSG_ORDER, null);
             if ((mob.location().okMessage(mob, msg))
@@ -160,7 +160,7 @@ public class Thief_Bribe extends ThiefSkill {
                 if (omsg.sourceMinor() == CMMsg.TYP_ORDER)
                     target.doCommand(commands, MUDCmdProcessor.METAFLAG_FORCED | MUDCmdProcessor.METAFLAG_ORDER);
             }
-            CMLib.beanCounter().addMoney(mob, currency, amountRequired);
+            CMLib.moneyCounter().addMoney(mob, currency, amountRequired);
             target.recoverPhyStats();
         }
         if (target == lastChecked)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Comprehension.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Comprehension.java
index 701dabe898..e8f2afb2f7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Comprehension.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Comprehension.java
@@ -127,7 +127,7 @@ public class Thief_Comprehension extends ThiefSkill {
                 else if ((msg.othersMessage() != null) && (msg.othersMessage().indexOf('\'') > 0)) {
                     String otherMes = msg.othersMessage();
                     if (msg.target() != null)
-                        otherMes = CMLib.coffeeFilter().fullOutFilter(((MOB) affected).session(), (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
+                        otherMes = CMLib.aetherFilter().fullOutFilter(((MOB) affected).session(), (MOB) affected, msg.source(), msg.target(), msg.tool(), otherMes, false);
                     queue.addElement(CMClass.getMsg(msg.source(), affected, null, CMMsg.NO_EFFECT, msg.othersCode(), CMMsg.NO_EFFECT, L("@x1 (translated from @x2)", CMStrings.substituteSayInMessage(otherMes, str), ((Ability) msg.tool()).name())));
                 }
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_ContractHit.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_ContractHit.java
index e180668711..14ae9a3638 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_ContractHit.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_ContractHit.java
@@ -250,9 +250,9 @@ public class Thief_ContractHit extends ThiefSkill {
         if (level > (mob.phyStats().level() + (2 * getXLEVELLevel(mob))))
             level = (mob.phyStats().level() + (2 * getXLEVELLevel(mob)));
         final double goldRequired = 100.0 * level;
-        final String localCurrency = CMLib.beanCounter().getCurrency(mob.location());
-        if (CMLib.beanCounter().getTotalAbsoluteValue(mob, localCurrency) < goldRequired) {
-            final String costWords = CMLib.beanCounter().nameCurrencyShort(localCurrency, goldRequired);
+        final String localCurrency = CMLib.moneyCounter().getCurrency(mob.location());
+        if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, localCurrency) < goldRequired) {
+            final String costWords = CMLib.moneyCounter().nameCurrencyShort(localCurrency, goldRequired);
             mob.tell(L("You'll need at least @x1 to put a hit out on @x2.", costWords, target.name(mob)));
             return false;
         }
@@ -270,7 +270,7 @@ public class Thief_ContractHit extends ThiefSkill {
         if (mob.location().okMessage(mob, msg)) {
             mob.location().send(mob, msg);
 
-            CMLib.beanCounter().subtractMoney(mob, localCurrency, goldRequired);
+            CMLib.moneyCounter().subtractMoney(mob, localCurrency, goldRequired);
             if (success)
                 maliciousAffect(mob, target, asLevel, target.phyStats().level() + 10, 0);
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Embezzle.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Embezzle.java
index 020ed18976..02065e9c66 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Embezzle.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Embezzle.java
@@ -212,17 +212,17 @@ public class Thief_Embezzle extends ThiefSkill {
 
         final boolean success = proficiencyCheck(mob, (-(levelDiff + (timesPicked(mob) * 50))), auto);
         if ((success) && (hisAmount > 0) && (hisCoins != null)) {
-            final String str = L("<S-NAME> embezzle(s) @x1 from the @x2 account maintained by <T-NAME>.", CMLib.beanCounter().nameCurrencyShort(target, hisAmount), victim);
+            final String str = L("<S-NAME> embezzle(s) @x1 from the @x2 account maintained by <T-NAME>.", CMLib.moneyCounter().nameCurrencyShort(target, hisAmount), victim);
             final CMMsg msg = CMClass.getMsg(mob, target, this, (auto ? CMMsg.MASK_ALWAYS : 0) | CMMsg.MSG_THIEF_ACT, str, null, str);
             if (mob.location().okMessage(mob, msg)) {
                 mob.location().send(mob, msg);
                 beneficialAffect(mob, target, asLevel, (int) (((CMProps.getMillisPerMudHour() * mob.location().getArea().getTimeObj().getHoursInDay() * mob.location().getArea().getTimeObj().getDaysInMonth()) / CMProps.getTickMillis())));
                 bank.delDepositInventory(victim, hisCoins);
-                hisCoins = CMLib.beanCounter().makeBestCurrency(target, hisCoins.getTotalValue() - (hisAmount / 3.0));
+                hisCoins = CMLib.moneyCounter().makeBestCurrency(target, hisCoins.getTotalValue() - (hisAmount / 3.0));
                 if (hisCoins.getNumberOfCoins() > 0)
                     bank.addDepositInventory(victim, hisCoins, null);
                 bank.delDepositInventory(myAcct, myCoins);
-                myCoins = CMLib.beanCounter().makeBestCurrency(mob, ((Coins) myCoins).getTotalValue() + hisAmount);
+                myCoins = CMLib.moneyCounter().makeBestCurrency(mob, ((Coins) myCoins).getTotalValue() + hisAmount);
                 if (((Coins) myCoins).getNumberOfCoins() > 0)
                     bank.addDepositInventory(myAcct, myCoins, null);
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Forgery.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Forgery.java
index 7da0dba843..902eb6ddc3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Forgery.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Forgery.java
@@ -131,9 +131,9 @@ public class Thief_Forgery extends ThiefSkill {
             }
         }
         if (newName.length() == 0) {
-            final MoneyLibrary.MoneyDenomination[] DV = CMLib.beanCounter().getCurrencySet(CMLib.beanCounter().getCurrency(mob));
+            final MoneyLibrary.MoneyDenomination[] DV = CMLib.moneyCounter().getCurrencySet(CMLib.moneyCounter().getCurrency(mob));
             for (final MoneyDenomination element : DV) {
-                final Item note = CMLib.beanCounter().makeBestCurrency(CMLib.beanCounter().getCurrency(mob), element.value());
+                final Item note = CMLib.moneyCounter().makeBestCurrency(CMLib.moneyCounter().getCurrency(mob), element.value());
                 if ((note != null) && (CMLib.english().containsString(note.name(), forgeWhat))) {
                     newName = note.name();
                     newDisplay = note.displayText();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_FrameMark.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_FrameMark.java
index f03dc77beb..f3b9affb90 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_FrameMark.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_FrameMark.java
@@ -102,9 +102,9 @@ public class Thief_FrameMark extends ThiefSkill {
             return false;
         }
         final double goldRequired = target.phyStats().level() * 1000.0;
-        final String localCurrency = CMLib.beanCounter().getCurrency(mob.location());
-        if (CMLib.beanCounter().getTotalAbsoluteValue(mob, localCurrency) < goldRequired) {
-            final String costWords = CMLib.beanCounter().nameCurrencyShort(localCurrency, goldRequired);
+        final String localCurrency = CMLib.moneyCounter().getCurrency(mob.location());
+        if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, localCurrency) < goldRequired) {
+            final String costWords = CMLib.moneyCounter().nameCurrencyShort(localCurrency, goldRequired);
             mob.tell(L("You'll need at least @x1 on hand to frame @x2.", costWords, target.name(mob)));
             return false;
         }
@@ -121,7 +121,7 @@ public class Thief_FrameMark extends ThiefSkill {
             return false;
         }
 
-        CMLib.beanCounter().subtractMoney(mob, localCurrency, goldRequired);
+        CMLib.moneyCounter().subtractMoney(mob, localCurrency, goldRequired);
 
         final CMMsg msg = CMClass.getMsg(mob, target, this, CMMsg.MSG_DELICATE_HANDS_ACT, L("<S-NAME> frame(s) <T-NAMESELF>."), CMMsg.NO_EFFECT, null, CMMsg.NO_EFFECT, null);
         if (mob.location().okMessage(mob, msg)) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_IdentifyBombs.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_IdentifyBombs.java
index 6f3e2cc194..32c0ef54bc 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_IdentifyBombs.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_IdentifyBombs.java
@@ -142,7 +142,7 @@ public class Thief_IdentifyBombs extends ThiefSkill {
                     return P.name() + " is carrying a bomb.";
                 }
             }
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(P);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(P);
             if (SK != null) {
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                     final Environmental E2 = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Kamikaze.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Kamikaze.java
index 36b196c97b..7b8a7374d7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Kamikaze.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Kamikaze.java
@@ -155,9 +155,9 @@ public class Thief_Kamikaze extends ThiefSkill {
             return false;
 
         final double goldRequired = ((Math.round((100.0 - ((mob.charStats().getStat(CharStats.STAT_CHARISMA) + (2.0 * getXLEVELLevel(mob))) * 2.0))) * target.phyStats().level()));
-        final String localCurrency = CMLib.beanCounter().getCurrency(target);
-        final String costWords = CMLib.beanCounter().nameCurrencyShort(localCurrency, goldRequired);
-        if (CMLib.beanCounter().getTotalAbsoluteValue(mob, localCurrency) < goldRequired) {
+        final String localCurrency = CMLib.moneyCounter().getCurrency(target);
+        final String costWords = CMLib.moneyCounter().nameCurrencyShort(localCurrency, goldRequired);
+        if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, localCurrency) < goldRequired) {
             mob.tell(L("@x1 requires @x2 to do this.", target.charStats().HeShe(), costWords));
             return false;
         }
@@ -187,11 +187,11 @@ public class Thief_Kamikaze extends ThiefSkill {
         } else {
             final CMMsg msg = CMClass.getMsg(mob, target, this, CMMsg.MSG_SPEAK, L("^T<S-NAME> pay(s) <T-NAMESELF> to Kamikaze @x1 for @x2.^?", s, costWords));
 
-            CMLib.beanCounter().subtractMoney(mob, localCurrency, goldRequired);
+            CMLib.moneyCounter().subtractMoney(mob, localCurrency, goldRequired);
             mob.recoverPhyStats();
             if (mob.location().okMessage(mob, msg)) {
                 mob.location().send(mob, msg);
-                CMLib.beanCounter().addMoney(target, localCurrency, goldRequired);
+                CMLib.moneyCounter().addMoney(target, localCurrency, goldRequired);
                 target.recoverPhyStats();
                 beneficialAffect(mob, target, asLevel, 2);
                 bombFound.activateBomb();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_LocateAlcohol.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_LocateAlcohol.java
index 783c54b226..b4ff950f41 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_LocateAlcohol.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_LocateAlcohol.java
@@ -127,7 +127,7 @@ public class Thief_LocateAlcohol extends ThiefSkill {
                 if (msg2.length() > 0)
                     return E.name() + " is carrying some alcohol.";
             }
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(E);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(E);
             if (SK != null) {
                 final StringBuffer msg2 = new StringBuffer("");
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Panhandling.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Panhandling.java
index 4ebbfee70d..9a003982b0 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Panhandling.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Panhandling.java
@@ -153,14 +153,14 @@ public class Thief_Panhandling extends ThiefSkill {
                             break;
                     }
                     if (CMLib.dice().rollPercentage() > (mob2.charStats().getSave(CharStats.STAT_SAVE_JUSTICE) + (CMLib.flags().isGood(mob) ? 10 : 0))) {
-                        double total = CMLib.beanCounter().getTotalAbsoluteNativeValue(mob2);
+                        double total = CMLib.moneyCounter().getTotalAbsoluteNativeValue(mob2);
                         if (total > 1.0) {
                             total = total / (20.0 - getXLEVELLevel(mob));
                             if (total < 1.0)
                                 total = 1.0;
-                            final Coins C = CMLib.beanCounter().makeBestCurrency(mob2, total);
+                            final Coins C = CMLib.moneyCounter().makeBestCurrency(mob2, total);
                             if (C != null) {
-                                CMLib.beanCounter().subtractMoney(mob2, total);
+                                CMLib.moneyCounter().subtractMoney(mob2, total);
                                 mob2.addItem(C);
                                 mob2.doCommand(CMParms.parse("GIVE \"" + C.name() + "\" \"" + mob.Name() + "\""), MUDCmdProcessor.METAFLAG_FORCED);
                                 if (!C.amDestroyed())
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PayOff.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PayOff.java
index 403f3c2769..697d5cdda3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PayOff.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PayOff.java
@@ -158,30 +158,30 @@ public class Thief_PayOff extends ThiefSkill {
         if (!super.invoke(mob, commands, givenTarget, auto, asLevel))
             return false;
 
-        double amountRequired = CMLib.beanCounter().getTotalAbsoluteNativeValue(target)
+        double amountRequired = CMLib.moneyCounter().getTotalAbsoluteNativeValue(target)
             + ((double) ((100l - ((mob.charStats().getStat(CharStats.STAT_CHARISMA) + (2l * getXLEVELLevel(mob))) * 2))) * target.phyStats().level());
         if (isJudge)
             amountRequired *= 2;
 
-        final String currency = CMLib.beanCounter().getCurrency(target);
+        final String currency = CMLib.moneyCounter().getCurrency(target);
         boolean success = proficiencyCheck(mob, 0, auto);
 
-        if ((!success) || (CMLib.beanCounter().getTotalAbsoluteValue(mob, currency) < amountRequired)) {
+        if ((!success) || (CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency) < amountRequired)) {
             final CMMsg msg = CMClass.getMsg(mob, target, this, CMMsg.MSG_SPEAK, L("^T<S-NAME> attempt(s) to pay off <T-NAMESELF> to '@x1', but no deal is reached.^?", CMParms.combine(commands, 0)));
             if (mob.location().okMessage(mob, msg))
                 mob.location().send(mob, msg);
-            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, currency) < amountRequired) {
-                final String costWords = CMLib.beanCounter().nameCurrencyShort(currency, amountRequired);
+            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency) < amountRequired) {
+                final String costWords = CMLib.moneyCounter().nameCurrencyShort(currency, amountRequired);
                 mob.tell(L("@x1 requires @x2 to do this.", target.charStats().HeShe(), costWords));
             }
             success = false;
         } else {
-            final String costWords = CMLib.beanCounter().nameCurrencyShort(target, amountRequired);
+            final String costWords = CMLib.moneyCounter().nameCurrencyShort(target, amountRequired);
             final CMMsg msg = CMClass.getMsg(mob, target, this, CMMsg.MSG_THIEF_ACT, L("^T<S-NAME> pay(s) off <T-NAMESELF>.^?", CMParms.combine(commands, 0), costWords));
             if (mob.location().okMessage(mob, msg)) {
                 mob.location().send(mob, msg);
-                CMLib.beanCounter().subtractMoney(mob, currency, amountRequired);
-                CMLib.beanCounter().addMoney(mob, currency, amountRequired);
+                CMLib.moneyCounter().subtractMoney(mob, currency, amountRequired);
+                CMLib.moneyCounter().addMoney(mob, currency, amountRequired);
                 if (isJudge) {
                     for (LegalWarrant W : warrants) {
                         if (W.punishment() > 0)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PiecesOfEight.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PiecesOfEight.java
index 9944aac7f4..a737df3cbd 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PiecesOfEight.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PiecesOfEight.java
@@ -137,12 +137,12 @@ public class Thief_PiecesOfEight extends ThiefSkill {
             }
         }
         if (coins.size() == 0) {
-            mob.tell(L("You don't have any buried @x1.", CMLib.beanCounter().getDenominationName(triad.first, triad.second.doubleValue())));
+            mob.tell(L("You don't have any buried @x1.", CMLib.moneyCounter().getDenominationName(triad.first, triad.second.doubleValue())));
             return false;
         }
 
         if (totalAmount > totalCoinValue) {
-            mob.tell(L("You don't have enough buried @x1.", CMLib.beanCounter().getDenominationName(triad.first, triad.second.doubleValue())));
+            mob.tell(L("You don't have enough buried @x1.", CMLib.moneyCounter().getDenominationName(triad.first, triad.second.doubleValue())));
             return false;
         }
 
@@ -164,11 +164,11 @@ public class Thief_PiecesOfEight extends ThiefSkill {
         final boolean success = proficiencyCheck(mob, 0, auto);
 
         if (success) {
-            final String moneyStr = triad.third + " " + CMLib.beanCounter().getDenominationName(triad.first, triad.second.doubleValue());
+            final String moneyStr = triad.third + " " + CMLib.moneyCounter().getDenominationName(triad.first, triad.second.doubleValue());
             final CMMsg msg = CMClass.getMsg(mob, null, this, CMMsg.MASK_MAGIC | CMMsg.MSG_THIEF_ACT, L("<S-NAME> pull(s) @x1 out of <S-HIS-HER> hard earned booty.", moneyStr));
             if (mob.location().okMessage(mob, msg)) {
                 mob.location().send(mob, msg);
-                Coins C = CMLib.beanCounter().makeCurrency(triad.first, triad.second.doubleValue(), triad.third.intValue());
+                Coins C = CMLib.moneyCounter().makeCurrency(triad.first, triad.second.doubleValue(), triad.third.intValue());
                 mob.addItem(C);
                 C.putCoinsBack();
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PirateFamiliar.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PirateFamiliar.java
index 53ea663d51..657035384c 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PirateFamiliar.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PirateFamiliar.java
@@ -292,7 +292,7 @@ public class Thief_PirateFamiliar extends ThiefSkill {
         newMOB.recoverPhyStats();
         newMOB.recoverMaxState();
         newMOB.resetToMaxState();
-        CMLib.beanCounter().clearZeroMoney(newMOB, null);
+        CMLib.moneyCounter().clearZeroMoney(newMOB, null);
         newMOB.setMoneyVariation(0);
         newMOB.location().showOthers(newMOB, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> arrives!"));
         caster.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Plunder.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Plunder.java
index e537374c56..16b9dfcb09 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Plunder.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Plunder.java
@@ -104,7 +104,7 @@ public class Thief_Plunder extends ThiefSkill {
         }
 
         double money = target.phyStats().level() + super.getXLEVELLevel(mob);
-        double total = CMLib.beanCounter().getTotalAbsoluteNativeValue(target);
+        double total = CMLib.moneyCounter().getTotalAbsoluteNativeValue(target);
         if (total < money)
             money = total;
 
@@ -114,12 +114,12 @@ public class Thief_Plunder extends ThiefSkill {
         final Room R = mob.location();
         final boolean success = proficiencyCheck(mob, 0, auto);
         if ((success) && (R != null)) {
-            final String str = L("<S-NAME> plunder(s) @x1 from the <T-NAME>.", CMLib.beanCounter().nameCurrencyShort(target, money));
+            final String str = L("<S-NAME> plunder(s) @x1 from the <T-NAME>.", CMLib.moneyCounter().nameCurrencyShort(target, money));
             final CMMsg msg = CMClass.getMsg(mob, target, this, (auto ? CMMsg.MASK_ALWAYS : 0) | CMMsg.MASK_MALICIOUS | CMMsg.MSG_THIEF_ACT, str);
             if (R.okMessage(mob, msg)) {
                 R.send(mob, msg);
-                CMLib.beanCounter().subtractMoney(target, money);
-                CMLib.beanCounter().addMoney(mob, CMLib.beanCounter().getCurrency(target), money);
+                CMLib.moneyCounter().subtractMoney(target, money);
+                CMLib.moneyCounter().addMoney(mob, CMLib.moneyCounter().getCurrency(target), money);
                 if (target.getVictim() != mob)
                     target.setVictim(mob);
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PubContacts.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PubContacts.java
index 8b94f29696..9e4ead9bf1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PubContacts.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_PubContacts.java
@@ -89,13 +89,13 @@ public class Thief_PubContacts extends ThiefSkill {
             final MOB M = room.fetchInhabitant(m);
             if ((M != null) && (M != mob)) {
                 if (CMLib.flags().canBeSeenBy(M, mob)) {
-                    final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                    final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                     if (SK != null) {
                         for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                             final Environmental E = i.next();
                             if ((E instanceof Item) && (CMLib.flags().isAlcoholic((Item) E))) {
                                 double moneyPrice = 0;
-                                ShopKeeper.ShopPrice price = CMLib.coffeeShops().sellingPrice(M, mob, E, SK, true);
+                                ShopKeeper.ShopPrice price = CMLib.aetherShops().sellingPrice(M, mob, E, SK, true);
                                 if (price.experiencePrice > 0)
                                     moneyPrice = (100 * price.experiencePrice);
                                 else if (price.questPointPrice > 0)
@@ -106,7 +106,7 @@ public class Thief_PubContacts extends ThiefSkill {
                                 if (moneyPrice < lowestPrice) {
                                     lowestPrice = moneyPrice;
                                     lowestItem = (Item) E;
-                                    currency = CMLib.beanCounter().getCurrency(M);
+                                    currency = CMLib.moneyCounter().getCurrency(M);
                                 }
                             }
                         }
@@ -317,8 +317,8 @@ public class Thief_PubContacts extends ThiefSkill {
             }
             double pct = 0.5 + (CMath.mul(CMath.div(10 - super.getXLOWCOSTLevel(mob), 2.0), 0.1));
             money = CMath.mul(pct, alco.second.doubleValue() * 6.0);
-            moneyStr = CMLib.beanCounter().abbreviatedPrice(alco.third, money);
-            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, alco.third) < money) {
+            moneyStr = CMLib.moneyCounter().abbreviatedPrice(alco.third, money);
+            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, alco.third) < money) {
                 mob.tell(L("You need at least @x1 to buy enough drinks to loosen tongues.", moneyStr));
                 return false;
             }
@@ -330,7 +330,7 @@ public class Thief_PubContacts extends ThiefSkill {
         final boolean success = proficiencyCheck(mob, 0, auto);
 
         if (money > 0.0)
-            CMLib.beanCounter().subtractMoney(mob, money);
+            CMLib.moneyCounter().subtractMoney(mob, money);
 
         final CMMsg msg = CMClass.getMsg(mob, null, this, CMMsg.MSG_THIEF_ACT, L("<S-NAME> drop(s) @x1 on drinks and start(s) socializing.", moneyStr));
         if (mob.location().okMessage(mob, msg)) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Racketeer.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Racketeer.java
index d69b61f52b..9bb73dd0f5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Racketeer.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Racketeer.java
@@ -121,7 +121,7 @@ public class Thief_Racketeer extends ThiefSkill {
                 return Ability.QUALITY_INDIFFERENT;
             if (target instanceof PhysicalAgent) {
                 final PhysicalAgent AE = (PhysicalAgent) target;
-                if ((CMLib.coffeeShops().getShopKeeper(target) == null) && (AE.fetchBehavior("MoneyChanger") == null)
+                if ((CMLib.aetherShops().getShopKeeper(target) == null) && (AE.fetchBehavior("MoneyChanger") == null)
                     && (AE.fetchBehavior("ItemMender") == null) && (AE.fetchBehavior("ItemIdentifier") == null)
                     && (AE.fetchBehavior("ItemRefitter") == null))
                     return Ability.QUALITY_INDIFFERENT;
@@ -153,7 +153,7 @@ public class Thief_Racketeer extends ThiefSkill {
             mob.tell(L("You are too busy to racketeer right now."));
             return false;
         }
-        if ((CMLib.coffeeShops().getShopKeeper(target) == null)
+        if ((CMLib.aetherShops().getShopKeeper(target) == null)
             && (target.fetchBehavior("MoneyChanger") == null)
             && (target.fetchBehavior("ItemMender") == null)
             && (target.fetchBehavior("ItemIdentifier") == null)
@@ -182,14 +182,14 @@ public class Thief_Racketeer extends ThiefSkill {
         final boolean success = proficiencyCheck(mob, -(levelDiff), auto);
         final Room R = mob.location();
         if ((success) && (R != null)) {
-            final CMMsg msg = CMClass.getMsg(mob, target, this, (auto ? CMMsg.MASK_ALWAYS : 0) | CMMsg.MSG_THIEF_ACT, L("<S-NAME> extract(s) @x1 of protection money from <T-NAME>.", CMLib.beanCounter().nameCurrencyShort(target, amount)));
+            final CMMsg msg = CMClass.getMsg(mob, target, this, (auto ? CMMsg.MASK_ALWAYS : 0) | CMMsg.MSG_THIEF_ACT, L("<S-NAME> extract(s) @x1 of protection money from <T-NAME>.", CMLib.moneyCounter().nameCurrencyShort(target, amount)));
             if (R.okMessage(mob, msg)) {
                 R.send(mob, msg);
                 final TimeClock timeObj = R.getArea().getTimeObj();
                 final int hoursInMonth = timeObj.getHoursInDay() * timeObj.getDaysInMonth();
                 final int tickDown = (int) (((CMProps.getMillisPerMudHour()) * hoursInMonth) / (CMProps.getTickMillis()));
                 beneficialAffect(mob, target, asLevel, tickDown);
-                final Coins C = CMLib.beanCounter().makeBestCurrency(target, amount);
+                final Coins C = CMLib.moneyCounter().makeBestCurrency(target, amount);
                 if (C != null) {
                     R.addItem(C, ItemPossessor.Expire.Player_Drop);
                     CMLib.commands().postGet(mob, null, C, true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Robbery.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Robbery.java
index acee86343d..ed5b7aadb3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Robbery.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Robbery.java
@@ -126,7 +126,7 @@ public class Thief_Robbery extends ThiefSkill {
                 return Ability.QUALITY_INDIFFERENT;
             if ((((MOB) target).amDead()) || (!CMLib.flags().canBeSeenBy(target, mob)))
                 return Ability.QUALITY_INDIFFERENT;
-            if ((!((MOB) target).mayIFight(mob)) || (CMLib.coffeeShops().getShopKeeper(target) == null))
+            if ((!((MOB) target).mayIFight(mob)) || (CMLib.aetherShops().getShopKeeper(target) == null))
                 return Ability.QUALITY_INDIFFERENT;
         }
         return super.castingQuality(mob, target);
@@ -156,7 +156,7 @@ public class Thief_Robbery extends ThiefSkill {
         }
         final int levelDiff = target.phyStats().level() - (mob.phyStats().level() + (getXLEVELLevel(mob) * 2));
 
-        if ((!target.mayIFight(mob)) || (CMLib.coffeeShops().getShopKeeper(target) == null)) {
+        if ((!target.mayIFight(mob)) || (CMLib.aetherShops().getShopKeeper(target) == null)) {
             mob.tell(L("You cannot rob from @x1.", target.charStats().himher()));
             return false;
         }
@@ -167,11 +167,11 @@ public class Thief_Robbery extends ThiefSkill {
         if (!super.invoke(mob, commands, givenTarget, auto, asLevel))
             return false;
 
-        final ShopKeeper shop = CMLib.coffeeShops().getShopKeeper(target);
+        final ShopKeeper shop = CMLib.aetherShops().getShopKeeper(target);
         final Environmental stock = shop.getShop().getStock(itemToSteal, mob);
         Physical stolen = (stock instanceof Physical) ? (Physical) stock : null;
         if (stolen != null) {
-            final ShopKeeper.ShopPrice price = CMLib.coffeeShops().sellingPrice(target, mob, stolen, shop, false);
+            final ShopKeeper.ShopPrice price = CMLib.aetherShops().sellingPrice(target, mob, stolen, shop, false);
             if ((stolen instanceof Ability)
                 || (stolen instanceof MOB)
                 || (stolen instanceof Room)
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_SilentGold.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_SilentGold.java
index eb47d856d0..692f7e09f2 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_SilentGold.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_SilentGold.java
@@ -84,13 +84,13 @@ public class Thief_SilentGold extends ThiefSkill {
                 && (msg != lastMsg)
                 && (msg.source().location() == ((MOB) affected).location())) {
                 lastMsg = msg;
-                final double money = CMLib.beanCounter().getTotalAbsoluteNativeValue(msg.source());
+                final double money = CMLib.moneyCounter().getTotalAbsoluteNativeValue(msg.source());
                 final double exper = getXLEVELLevel((MOB) affected);
                 final double gold = money / 10.0 * ((2.0 + exper) / 2);
                 if (gold > 0.0) {
-                    final Coins C = CMLib.beanCounter().makeBestCurrency(msg.source(), gold);
+                    final Coins C = CMLib.moneyCounter().makeBestCurrency(msg.source(), gold);
                     if ((C != null) && (C.getNumberOfCoins() > 0)) {
-                        CMLib.beanCounter().subtractMoney(msg.source(), C.getTotalValue());
+                        CMLib.moneyCounter().subtractMoney(msg.source(), C.getTotalValue());
                         final MOB mob = (MOB) affected;
                         mob.location().addItem(C, ItemPossessor.Expire.Monster_EQ);
                         mob.location().recoverRoomStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Surrender.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Surrender.java
index a915267389..153b65fdb9 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Surrender.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Surrender.java
@@ -89,9 +89,9 @@ public class Thief_Surrender extends ThiefSkill {
 
         boolean success = proficiencyCheck(mob, 0, auto);
 
-        final String localCurrency = CMLib.beanCounter().getCurrency(mob.getVictim());
-        final String costWords = CMLib.beanCounter().nameCurrencyShort(localCurrency, goldRequired);
-        if (success && CMLib.beanCounter().getTotalAbsoluteValue(mob, localCurrency) >= goldRequired) {
+        final String localCurrency = CMLib.moneyCounter().getCurrency(mob.getVictim());
+        final String costWords = CMLib.moneyCounter().nameCurrencyShort(localCurrency, goldRequired);
+        if (success && CMLib.moneyCounter().getTotalAbsoluteValue(mob, localCurrency) >= goldRequired) {
             final StringBuffer enemiesList = new StringBuffer("");
             for (int v = 0; v < theList.size(); v++) {
                 final MOB vic = theList.elementAt(v);
@@ -105,12 +105,12 @@ public class Thief_Surrender extends ThiefSkill {
             final CMMsg msg = CMClass.getMsg(mob, null, this, CMMsg.MSG_NOISYMOVEMENT, L("<S-NAME> surrender(s) to @x1, paying @x2.", enemiesList.toString(), costWords));
             if (mob.location().okMessage(mob, msg)) {
                 mob.location().send(mob, msg);
-                CMLib.beanCounter().subtractMoney(mob, localCurrency, goldRequired);
+                CMLib.moneyCounter().subtractMoney(mob, localCurrency, goldRequired);
                 mob.recoverPhyStats();
                 mob.makePeace(true);
                 for (int v = 0; v < theList.size(); v++) {
                     final MOB vic = theList.elementAt(v);
-                    CMLib.beanCounter().addMoney(vic, localCurrency, CMath.div(goldRequired, theList.size()));
+                    CMLib.moneyCounter().addMoney(vic, localCurrency, CMath.div(goldRequired, theList.size()));
                     vic.recoverPhyStats();
                     vic.makePeace(true);
                 }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Swipe.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Swipe.java
index 2cece1a72f..7229feba7e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Swipe.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Swipe.java
@@ -143,7 +143,7 @@ public class Thief_Swipe extends ThiefSkill {
         if (!super.invoke(mob, commands, givenTarget, auto, asLevel))
             return false;
 
-        final String currency = CMLib.beanCounter().getCurrency(target);
+        final String currency = CMLib.moneyCounter().getCurrency(target);
         int discoverChance = (target.charStats().getStat(CharStats.STAT_WISDOM) * 5)
             - (levelDiff * 3)
             + (getX1Level(mob) * 5);
@@ -184,12 +184,12 @@ public class Thief_Swipe extends ThiefSkill {
                 pct = 0.10;
             if (levelDiff > 10)
                 pct = 0.05;
-            double goldTaken = CMLib.beanCounter().getTotalAbsoluteNativeValue(target) * pct * Math.random();
+            double goldTaken = CMLib.moneyCounter().getTotalAbsoluteNativeValue(target) * pct * Math.random();
             if (goldTaken < (CMLib.ableMapper().qualifyingClassLevel(mob, this)))
                 goldTaken = CMLib.ableMapper().qualifyingClassLevel(mob, this);
-            if (goldTaken > CMLib.beanCounter().getTotalAbsoluteNativeValue(target))
-                goldTaken = CMLib.beanCounter().getTotalAbsoluteNativeValue(target);
-            final String goldTakenStr = CMLib.beanCounter().nameCurrencyShort(target, goldTaken);
+            if (goldTaken > CMLib.moneyCounter().getTotalAbsoluteNativeValue(target))
+                goldTaken = CMLib.moneyCounter().getTotalAbsoluteNativeValue(target);
+            final String goldTakenStr = CMLib.moneyCounter().nameCurrencyShort(target, goldTaken);
 
             String str = null;
             int code = CMMsg.MSG_THIEF_ACT;
@@ -228,9 +228,9 @@ public class Thief_Swipe extends ThiefSkill {
                     if (mob.getVictim() == target)
                         mob.makePeace(true);
                 }
-                CMLib.beanCounter().addMoney(mob, currency, goldTaken);
+                CMLib.moneyCounter().addMoney(mob, currency, goldTaken);
                 mob.recoverPhyStats();
-                CMLib.beanCounter().subtractMoney(target, currency, goldTaken);
+                CMLib.moneyCounter().subtractMoney(target, currency, goldTaken);
                 target.recoverPhyStats();
             }
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Wenching.java b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Wenching.java
index cd31b40f80..55c342f74a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Wenching.java
+++ b/src/main/java/com/syncleus/aethermud/game/Abilities/Thief/Thief_Wenching.java
@@ -105,9 +105,9 @@ public class Thief_Wenching extends ThiefSkill {
             return false;
         if (CMLib.flags().isAlcoholic(M))
             return true;
-        final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+        final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
         if (SK != null) {
-            CoffeeShop shop = SK.getShop();
+            AetherShop shop = SK.getShop();
             if (shop != null) {
                 for (Iterator<Environmental> e = shop.getStoreInventory(); e.hasNext(); ) {
                     Environmental E = e.next();
@@ -202,12 +202,12 @@ public class Thief_Wenching extends ThiefSkill {
                 R.send(mob, msg);
                 int cost = 100 - super.getXLOWCOSTLevel(mob) + ((10 - super.getXLOWCOSTLevel(mob)) * levelDiff);
 
-                if (CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(mob, target) < cost) {
-                    mob.tell(L("@x1 requires @x2, which you don't have.", target.name(), CMLib.beanCounter().abbreviatedPrice(target, cost)));
+                if (CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(mob, target) < cost) {
+                    mob.tell(L("@x1 requires @x2, which you don't have.", target.name(), CMLib.moneyCounter().abbreviatedPrice(target, cost)));
                     return false;
                 }
-                CMLib.beanCounter().subtractMoney(mob, CMLib.beanCounter().getCurrency(target), cost);
-                if (R.show(mob, target, this, CMMsg.MSG_OK_VISUAL, L("<S-NAME> gives <T-NAME> @x1, and then wander off together for a time...", CMLib.beanCounter().abbreviatedPrice(target, cost)))) {
+                CMLib.moneyCounter().subtractMoney(mob, CMLib.moneyCounter().getCurrency(target), cost);
+                if (R.show(mob, target, this, CMMsg.MSG_OK_VISUAL, L("<S-NAME> gives <T-NAME> @x1, and then wander off together for a time...", CMLib.moneyCounter().abbreviatedPrice(target, cost)))) {
                     final Session sess = mob.session();
                     if (sess == null) {
                         Ability A = mob.fetchEffect(ID());
diff --git a/src/main/java/com/syncleus/aethermud/game/Areas/StdArea.java b/src/main/java/com/syncleus/aethermud/game/Areas/StdArea.java
index 296422109d..571b7f7b87 100644
--- a/src/main/java/com/syncleus/aethermud/game/Areas/StdArea.java
+++ b/src/main/java/com/syncleus/aethermud/game/Areas/StdArea.java
@@ -135,13 +135,13 @@ public class StdArea implements Area {
     @Override
     public void setCurrency(String newCurrency) {
         if (currency.length() > 0) {
-            CMLib.beanCounter().unloadCurrencySet(currency);
+            CMLib.moneyCounter().unloadCurrencySet(currency);
             currency = newCurrency;
             for (final Enumeration<Area> e = CMLib.map().areas(); e.hasMoreElements(); )
-                CMLib.beanCounter().getCurrencySet(e.nextElement().getCurrency());
+                CMLib.moneyCounter().getCurrencySet(e.nextElement().getCurrency());
         } else {
             currency = newCurrency;
-            CMLib.beanCounter().getCurrencySet(currency);
+            CMLib.moneyCounter().getCurrencySet(currency);
         }
     }
 
@@ -686,7 +686,7 @@ public class StdArea implements Area {
         final String[] s = finalItemPricingAdjustments(this);
         if (s.length > 0)
             return s;
-        return CMLib.coffeeShops().parseItemPricingAdjustments(CMProps.getVar(CMProps.Str.PRICEFACTORS).trim());
+        return CMLib.aetherShops().parseItemPricingAdjustments(CMProps.getVar(CMProps.Str.PRICEFACTORS).trim());
     }
 
     protected String[] finalItemPricingAdjustments(Area A) {
@@ -744,12 +744,12 @@ public class StdArea implements Area {
         final Pair<Long, TimePeriod> budget = finalAreaBudget(this);
         if (budget != null)
             return budget;
-        return CMLib.coffeeShops().parseBudget(CMProps.getVar(CMProps.Str.BUDGET));
+        return CMLib.aetherShops().parseBudget(CMProps.getVar(CMProps.Str.BUDGET));
     }
 
     protected Pair<Long, TimePeriod> finalAreaBudget(Area A) {
         if (A.budget().length() > 0)
-            return CMLib.coffeeShops().parseBudget(A.budget());
+            return CMLib.aetherShops().parseBudget(A.budget());
         for (final Enumeration<Area> i = A.getParents(); i.hasMoreElements(); ) {
             final Pair<Long, TimePeriod> budget = finalAreaBudget(i.nextElement());
             if (budget != null)
@@ -774,12 +774,12 @@ public class StdArea implements Area {
         if (rate != null)
             return rate;
 
-        return CMLib.coffeeShops().parseDevalueRate(CMProps.getVar(CMProps.Str.DEVALUERATE));
+        return CMLib.aetherShops().parseDevalueRate(CMProps.getVar(CMProps.Str.DEVALUERATE));
     }
 
     protected double[] finalAreaDevalueRate(Area A) {
         if (A.devalueRate().length() > 0)
-            return CMLib.coffeeShops().parseDevalueRate(A.devalueRate());
+            return CMLib.aetherShops().parseDevalueRate(A.devalueRate());
         for (final Enumeration<Area> i = A.getParents(); i.hasMoreElements(); ) {
             final double[] rate = finalAreaDevalueRate(i.nextElement());
             if (rate != null)
@@ -795,7 +795,7 @@ public class StdArea implements Area {
 
     @Override
     public void setDevalueRate(String factors) {
-        devalueRate = CMLib.coffeeShops().parseDevalueRate(factors);
+        devalueRate = CMLib.aetherShops().parseDevalueRate(factors);
     }
 
     @Override
@@ -839,14 +839,14 @@ public class StdArea implements Area {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, true);
+        return CMLib.aetherMaker().getPropertiesStr(this, true);
     }
 
     @Override
     public void setMiscText(String newMiscText) {
         miscText = "";
         if (newMiscText.trim().length() > 0)
-            CMLib.coffeeMaker().setPropertiesStr(this, newMiscText, true);
+            CMLib.aetherMaker().setPropertiesStr(this, newMiscText, true);
         derivedClimate = CLIMASK_INHERIT;
         derivedAtmo = ATMOSPHERE_INHERIT;
         derivedTheme = THEME_INHERIT;
@@ -1480,7 +1480,7 @@ public class StdArea implements Area {
                 s.append("Population     : ^H0^N\n\r");
         } else {
             s.append("Population     : ^H" + statData[Area.Stats.POPULATION.ordinal()] + "^N\n\r");
-            final String currName = CMLib.beanCounter().getCurrency(this);
+            final String currName = CMLib.moneyCounter().getCurrency(this);
             if (currName.length() > 0)
                 s.append("Currency       : ^H" + CMStrings.capitalizeAndLower(currName) + "^N\n\r");
             else
diff --git a/src/main/java/com/syncleus/aethermud/game/Areas/StdBoardableShip.java b/src/main/java/com/syncleus/aethermud/game/Areas/StdBoardableShip.java
index 039d0ef49c..9a2af3ad60 100644
--- a/src/main/java/com/syncleus/aethermud/game/Areas/StdBoardableShip.java
+++ b/src/main/java/com/syncleus/aethermud/game/Areas/StdBoardableShip.java
@@ -481,14 +481,14 @@ public class StdBoardableShip implements Area, BoardableShip, PrivateProperty {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, true);
+        return CMLib.aetherMaker().getPropertiesStr(this, true);
     }
 
     @Override
     public void setMiscText(String newMiscText) {
         miscText = "";
         if (newMiscText.trim().length() > 0)
-            CMLib.coffeeMaker().setPropertiesStr(this, newMiscText, true);
+            CMLib.aetherMaker().setPropertiesStr(this, newMiscText, true);
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/Arrest.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/Arrest.java
index 58d636aa44..6ccdacf983 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/Arrest.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/Arrest.java
@@ -1255,7 +1255,7 @@ public class Arrest extends StdBehavior implements LegalBehavior {
             if ((judge == null) && (officer != null))
                 judge = officer;
             if ((fines > 0.0) && (judge != null)) {
-                CMLib.commands().postSay(judge, criminal, L("You are hereby fined @x1, payable to the local tax assessor.", CMLib.beanCounter().nameCurrencyShort(judge, fines)), false, false);
+                CMLib.commands().postSay(judge, criminal, L("You are hereby fined @x1, payable to the local tax assessor.", CMLib.moneyCounter().nameCurrencyShort(judge, fines)), false, false);
                 Double D = finesAssessed.get(criminal);
                 if (D == null)
                     D = Double.valueOf(0.0);
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/BribeGateGuard.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/BribeGateGuard.java
index 35a68b0bf7..afed252d04 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/BribeGateGuard.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/BribeGateGuard.java
@@ -161,7 +161,7 @@ public class BribeGateGuard extends StdBehavior {
         // make a note in the journal
         double newNum = given.getTotalValue();
         newNum += getBalance(mob);
-        final Coins item = CMLib.beanCounter().makeBestCurrency(CMLib.beanCounter().getCurrency(gateGuard), newNum);
+        final Coins item = CMLib.moneyCounter().makeBestCurrency(CMLib.moneyCounter().getCurrency(gateGuard), newNum);
         delBalance(mob);
         if (item != null)
             writeBalance(item, mob);
@@ -193,7 +193,7 @@ public class BribeGateGuard extends StdBehavior {
                 if (fullName.equals("COINS")) {
                     final Coins item = (Coins) CMClass.getItem("StdCoins");
                     if (item != null) {
-                        CMLib.coffeeMaker().setPropertiesStr(item, V2.msg(), true);
+                        CMLib.aetherMaker().setPropertiesStr(item, V2.msg(), true);
                         item.recoverPhyStats();
                         item.text();
                         balance += item.getTotalValue();
@@ -222,8 +222,8 @@ public class BribeGateGuard extends StdBehavior {
         double newNum = getBalance(mob);
         newNum -= charge;
         if (newNum > 0) {
-            item.setCurrency(CMLib.beanCounter().getCurrency(gateGuard));
-            item.setDenomination(CMLib.beanCounter().getLowestDenomination(CMLib.beanCounter().getCurrency(gateGuard)));
+            item.setCurrency(CMLib.moneyCounter().getCurrency(gateGuard));
+            item.setDenomination(CMLib.moneyCounter().getLowestDenomination(CMLib.moneyCounter().getCurrency(gateGuard)));
             item.setNumberOfCoins(Math.round(newNum / item.getDenomination()));
             delBalance(mob);
             writeBalance(item, mob);
@@ -260,7 +260,7 @@ public class BribeGateGuard extends StdBehavior {
         // write an entry for that mob
         if (surviveReboot) {
             CMLib.database().DBWriteJournal("BRIBEGATE_" + gates(), mob.Name(), CMClass.classID(balance),
-                "COINS", CMLib.coffeeMaker().getPropertiesStr(balance, true));
+                "COINS", CMLib.aetherMaker().getPropertiesStr(balance, true));
         } else {
             Hashtable H = (Hashtable) notTheJournal.get(gates());
             if (H == null) {
@@ -287,14 +287,14 @@ public class BribeGateGuard extends StdBehavior {
             return true;
         }
         final MOB monster = (MOB) oking;
-        final String currency = CMLib.beanCounter().getCurrency(monster);
+        final String currency = CMLib.moneyCounter().getCurrency(monster);
         if (msg.amITarget(monster)
             && (!msg.amISource(monster))
             && (msg.targetMinor() == CMMsg.TYP_GIVE)
             && (msg.tool() instanceof Coins)
             && (!((Coins) msg.tool()).getCurrency().equals(currency))) {
-            final double denomination = CMLib.beanCounter().getLowestDenomination(currency);
-            CMLib.commands().postSay(monster, mob, L("I only accept @x1.", CMLib.beanCounter().getDenominationName(currency, denomination)), false, false);
+            final double denomination = CMLib.moneyCounter().getLowestDenomination(currency);
+            CMLib.commands().postSay(monster, mob, L("I only accept @x1.", CMLib.moneyCounter().getDenominationName(currency, denomination)), false, false);
             return false;
         }
         if (msg.target() == null) {
@@ -329,8 +329,8 @@ public class BribeGateGuard extends StdBehavior {
                             L("<S-NAME> won't let <T-NAME> through there."));
                         if (monster.location().okMessage(monster, msgs)) {
                             monster.location().send(monster, msgs);
-                            final double denomination = CMLib.beanCounter().getLowestDenomination(currency);
-                            final String thePrice = CMLib.beanCounter().getDenominationName(currency, denomination, Math.round(price() / denomination));
+                            final double denomination = CMLib.moneyCounter().getLowestDenomination(currency);
+                            final String thePrice = CMLib.moneyCounter().getDenominationName(currency, denomination, Math.round(price() / denomination));
                             CMLib.commands().postSay(monster, mob, L("I'll let you through here if you pay the fee of @x1.", thePrice), true, false);
                             if (debug) // debugging
                                 CMLib.commands().postSay(monster, mob, L("I'm telling you this from okAffect"), true, false);
@@ -415,10 +415,10 @@ public class BribeGateGuard extends StdBehavior {
             payment((Coins) msg.tool(), observer, msg.source());
             CMLib.commands().postSay(observer, source, L("Thank you very much."), true, false);
             if (getBalance(source) > price()) {
-                final String currency = CMLib.beanCounter().getCurrency(observer);
-                final double denomination = CMLib.beanCounter().getLowestDenomination(currency);
+                final String currency = CMLib.moneyCounter().getCurrency(observer);
+                final double denomination = CMLib.moneyCounter().getLowestDenomination(currency);
                 final long diff = Math.round((getBalance(source) - price()) / denomination);
-                final String difference = CMLib.beanCounter().getDenominationName(currency, denomination, diff);
+                final String difference = CMLib.moneyCounter().getDenominationName(currency, denomination, diff);
                 CMLib.commands().postSay(observer, source, L("I'll hang on to the additional @x1 for you", difference), true, false);
                 paidPlayers.addElement(source);
                 toldAlready.put(source.Name(), Boolean.FALSE);
@@ -476,9 +476,9 @@ public class BribeGateGuard extends StdBehavior {
                     if ((paidPlayers.contains(M)) && (toldAlready.containsKey(M.Name()))) {
                         final Boolean B = toldAlready.get(M.Name());
                         if (!B.booleanValue()) {
-                            final String currency = CMLib.beanCounter().getCurrency(mob);
-                            final double denomination = CMLib.beanCounter().getLowestDenomination(currency);
-                            final String balanceStr = CMLib.beanCounter().getDenominationName(currency, denomination, Math.round(getBalance(M) / denomination));
+                            final String currency = CMLib.moneyCounter().getCurrency(mob);
+                            final double denomination = CMLib.moneyCounter().getLowestDenomination(currency);
+                            final String balanceStr = CMLib.moneyCounter().getDenominationName(currency, denomination, Math.round(getBalance(M) / denomination));
                             CMLib.commands().postSay(mob, M, L("We still have record that you gave us @x1 before if you're heading through", balanceStr), true, false);
                         }
                         toldAlready.put(M.Name(), Boolean.TRUE);
@@ -487,9 +487,9 @@ public class BribeGateGuard extends StdBehavior {
                     } else {
                         if (toldAlready.containsKey(M.Name()))
                             continue;
-                        final String currency = CMLib.beanCounter().getCurrency(mob);
-                        final double denomination = CMLib.beanCounter().getLowestDenomination(currency);
-                        final String priceStr = CMLib.beanCounter().getDenominationName(currency, denomination, Math.round(price() / denomination));
+                        final String currency = CMLib.moneyCounter().getCurrency(mob);
+                        final double denomination = CMLib.moneyCounter().getLowestDenomination(currency);
+                        final String priceStr = CMLib.moneyCounter().getDenominationName(currency, denomination, Math.round(price() / denomination));
                         CMLib.commands().postSay(mob, M, L("I'll let you through here if you pay the fee of @x1.", priceStr), true, false);
                         toldAlready.put(M.Name(), Boolean.TRUE);
                         if (debug)    // debugging
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/Concierge.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/Concierge.java
index c3fc6de897..f44498f25b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/Concierge.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/Concierge.java
@@ -346,7 +346,7 @@ public class Concierge extends StdBehavior {
             if (destIndex < 0) {
                 CMLib.commands().postSay(conceirgeM, source, L("What's this for?  Please tell me where you'd like to go first."), true, false);
                 return false;
-            } else if (!((Coins) possibleCoins).getCurrency().equalsIgnoreCase(CMLib.beanCounter().getCurrency(conceirgeM))) {
+            } else if (!((Coins) possibleCoins).getCurrency().equalsIgnoreCase(CMLib.moneyCounter().getCurrency(conceirgeM))) {
                 CMLib.commands().postSay(conceirgeM, source, L("I'm sorry, I don't accept that kind of currency."), true, false);
                 return false;
             }
@@ -417,11 +417,11 @@ public class Concierge extends StdBehavior {
                 final Double owed = Double.valueOf(destT.third.doubleValue() - ((Coins) possibleCoins).getTotalValue());
                 if (owed.doubleValue() > 0.0) {
                     destT.third = owed;
-                    CMLib.commands().postSay(conciergeM, source, L("Ok, you still owe @x1.", CMLib.beanCounter().nameCurrencyLong(conciergeM, owed.doubleValue())), true, false);
+                    CMLib.commands().postSay(conciergeM, source, L("Ok, you still owe @x1.", CMLib.moneyCounter().nameCurrencyLong(conciergeM, owed.doubleValue())), true, false);
                     return;
                 } else if (owed.doubleValue() < 0.0) {
                     final double change = -owed.doubleValue();
-                    final Coins C = CMLib.beanCounter().makeBestCurrency(conciergeM, change);
+                    final Coins C = CMLib.moneyCounter().makeBestCurrency(conciergeM, change);
                     if ((change > 0.0) && (C != null)) {
                         // this message will actually end up triggering the hand-over.
                         final CMMsg newMsg = CMClass.getMsg(conciergeM, source, C, CMMsg.MSG_SPEAK, L("^T<S-NAME> say(s) 'Heres your change.' to <T-NAMESELF>.^?"));
@@ -516,7 +516,7 @@ public class Concierge extends StdBehavior {
                         && (((Coins) msg.tool()).amDestroyed())
                         && (!msg.source().isMine(msg.tool()))
                         && (!((MOB) msg.target()).isMine(msg.tool())))
-                        CMLib.beanCounter().giveSomeoneMoney(msg.source(), (MOB) msg.target(), ((Coins) msg.tool()).getTotalValue());
+                        CMLib.moneyCounter().giveSomeoneMoney(msg.source(), (MOB) msg.target(), ((Coins) msg.tool()).getTotalValue());
                     else if ((!msg.source().isMonster())
                         && ((msg.target() == observer) || (source.location().numPCInhabitants() == 1) || (!(observer instanceof MOB)))
                         && ((!(observer instanceof Rideable)) || (msg.source().riding() == observer))
@@ -564,7 +564,7 @@ public class Concierge extends StdBehavior {
                                 giveMerchandise(msg.source(), roomR, observer, room, trackingFlags);
                             else {
                                 destinations.addElement(msg.source(), roomR, owed, trackingFlags);
-                                final String moneyName = CMLib.beanCounter().nameCurrencyLong(getTalker(observer, room), rate);
+                                final String moneyName = CMLib.moneyCounter().nameCurrencyLong(getTalker(observer, room), rate);
                                 thingsToSay.addElement(msg.source(), this.getGiveMoneyMessage(observer, roomR, moneyName));
                             }
                         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/Hireling.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/Hireling.java
index 75e8eeb2fb..3ee92bedc2 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/Hireling.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/Hireling.java
@@ -194,8 +194,8 @@ public class Hireling extends StdBehavior {
                     CMLib.commands().postSay(observer, null, L("I wouldn't work for the likes of you."), false, false);
                     return false;
                 }
-                if (!((Coins) msg.tool()).getCurrency().equals(CMLib.beanCounter().getCurrency(observer))) {
-                    CMLib.commands().postSay(observer, null, L("I'm sorry, I only deal in @x1.", CMLib.beanCounter().getDenominationName(CMLib.beanCounter().getCurrency(observer))), false, false);
+                if (!((Coins) msg.tool()).getCurrency().equals(CMLib.moneyCounter().getCurrency(observer))) {
+                    CMLib.commands().postSay(observer, null, L("I'm sorry, I only deal in @x1.", CMLib.moneyCounter().getDenominationName(CMLib.moneyCounter().getCurrency(observer))), false, false);
                     return false;
                 }
             }
@@ -235,7 +235,7 @@ public class Hireling extends StdBehavior {
                 || (upperSrcMsg.indexOf("WORK") > 0)
                 || (upperSrcMsg.indexOf("AVAILABLE") > 0))
                 && (onTheJobUntil == 0))
-                CMLib.commands().postSay(observer, null, L("I'm for hire.  Just give me @x1 and I'll work for you for @x2 \"hours\".", CMLib.beanCounter().nameCurrencyShort(observer, price()), "" + gamehours()), false, false);
+                CMLib.commands().postSay(observer, null, L("I'm for hire.  Just give me @x1 and I'll work for you for @x2 \"hours\".", CMLib.moneyCounter().nameCurrencyShort(observer, price()), "" + gamehours()), false, false);
             else if (((upperSrcMsg.indexOf(" FIRED") > 0))
                 && ((workingFor != null) && (msg.source().Name().equals(workingFor)))
                 && (msg.amITarget(observer))
@@ -269,9 +269,9 @@ public class Hireling extends StdBehavior {
                     if (workingFor.equals(source.Name()))
                         CMLib.commands().postSay(observer, source, L("I'm still working for you.  I'll put that towards an extension though."), true, false);
                     else
-                        CMLib.commands().postSay(observer, source, L("Sorry, I'm on the job right now.  Give me @x1 more later on and I'll work for @x2 \"hours\".", CMLib.beanCounter().nameCurrencyShort(observer, (price() - given)), "" + gamehours()), true, false);
+                        CMLib.commands().postSay(observer, source, L("Sorry, I'm on the job right now.  Give me @x1 more later on and I'll work for @x2 \"hours\".", CMLib.moneyCounter().nameCurrencyShort(observer, (price() - given)), "" + gamehours()), true, false);
                 } else
-                    CMLib.commands().postSay(observer, source, L("My price is @x1.  Give me @x2 more and I'll work for you for @x3 \"hours\".", CMLib.beanCounter().nameCurrencyShort(observer, price()), CMLib.beanCounter().nameCurrencyShort(observer, (price() - given)), "" + gamehours()), true, false);
+                    CMLib.commands().postSay(observer, source, L("My price is @x1.  Give me @x2 more and I'll work for you for @x3 \"hours\".", CMLib.moneyCounter().nameCurrencyShort(observer, price()), CMLib.moneyCounter().nameCurrencyShort(observer, (price() - given)), "" + gamehours()), true, false);
                 partials.put(msg.source().Name(), Double.valueOf(given));
             } else {
                 if (onTheJobUntil != 0) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemGenerator.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemGenerator.java
index 1b09cdf518..f811e78919 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemGenerator.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemGenerator.java
@@ -213,7 +213,7 @@ public class ItemGenerator extends ActiveTicker {
             return true;
         Item I = null;
         final Environmental E = (Environmental) ticking;
-        final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(E);
+        final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(E);
         for (int i = maintained.size() - 1; i >= 0; i--) {
             try {
                 I = maintained.elementAt(i);
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemIdentifier.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemIdentifier.java
index 5d66183520..06cc99b8a6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemIdentifier.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemIdentifier.java
@@ -74,8 +74,8 @@ public class ItemIdentifier extends StdBehavior {
             && (!(msg.tool() instanceof Coins))
             && (msg.tool() instanceof Item)) {
             final double cost = cost((Item) msg.tool());
-            if (CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(msg.source(), observer) < (cost)) {
-                final String costStr = CMLib.beanCounter().nameCurrencyShort(observer, cost);
+            if (CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(msg.source(), observer) < (cost)) {
+                final String costStr = CMLib.moneyCounter().nameCurrencyShort(observer, cost);
                 CMLib.commands().postSay(observer, source, L("You'll need @x1 for me to identify that.", costStr), true, false);
                 return false;
             }
@@ -100,8 +100,8 @@ public class ItemIdentifier extends StdBehavior {
             && (msg.tool() instanceof Item)) {
             final Item I = (Item) msg.tool();
             final double cost = cost(I);
-            CMLib.beanCounter().subtractMoney(source, CMLib.beanCounter().getCurrency(observer), cost);
-            final String costStr = CMLib.beanCounter().nameCurrencyLong(observer, cost);
+            CMLib.moneyCounter().subtractMoney(source, CMLib.moneyCounter().getCurrency(observer), cost);
+            final String costStr = CMLib.moneyCounter().nameCurrencyLong(observer, cost);
             source.recoverPhyStats();
             CMMsg newMsg = CMClass.getMsg(msg.source(), observer, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> give(s) @x1 to <T-NAMESELF>.", costStr));
             msg.addTrailerMsg(newMsg);
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemMender.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemMender.java
index aebed6dacd..3243e3e7db 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemMender.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemMender.java
@@ -89,8 +89,8 @@ public class ItemMender extends StdBehavior {
                 CMLib.commands().postSay(observer, source, L("@x1 doesn't require repair.", tool.name()), true, false);
                 return false;
             }
-            if (CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(msg.source(), observer) < (cost)) {
-                final String costStr = CMLib.beanCounter().nameCurrencyShort(observer, cost);
+            if (CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(msg.source(), observer) < (cost)) {
+                final String costStr = CMLib.moneyCounter().nameCurrencyShort(observer, cost);
                 CMLib.commands().postSay(observer, source, L("You'll need @x1 for me to repair that.", costStr), true, false);
                 return false;
             }
@@ -114,8 +114,8 @@ public class ItemMender extends StdBehavior {
             && (!(msg.tool() instanceof Coins))
             && (msg.tool() instanceof Item)) {
             final double cost = cost((Item) msg.tool());
-            CMLib.beanCounter().subtractMoney(source, CMLib.beanCounter().getCurrency(observer), cost);
-            final String costStr = CMLib.beanCounter().nameCurrencyLong(observer, cost);
+            CMLib.moneyCounter().subtractMoney(source, CMLib.moneyCounter().getCurrency(observer), cost);
+            final String costStr = CMLib.moneyCounter().nameCurrencyLong(observer, cost);
             source.recoverPhyStats();
             ((Item) msg.tool()).setUsesRemaining(100);
             CMMsg newMsg = CMClass.getMsg(observer, source, msg.tool(), CMMsg.MSG_GIVE, L("<S-NAME> give(s) <O-NAME> to <T-NAMESELF> and charges <T-NAMESELF> @x1.", costStr));
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemRefitter.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemRefitter.java
index 91bf337959..3127f249bb 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemRefitter.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/ItemRefitter.java
@@ -89,8 +89,8 @@ public class ItemRefitter extends StdBehavior {
                 CMLib.commands().postSay(observer, source, L("This already looks your size!"), true, false);
                 return false;
             }
-            if (CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(msg.source(), observer) < (cost)) {
-                final String costStr = CMLib.beanCounter().nameCurrencyShort(observer, cost);
+            if (CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(msg.source(), observer) < (cost)) {
+                final String costStr = CMLib.moneyCounter().nameCurrencyShort(observer, cost);
                 CMLib.commands().postSay(observer, source, L("You'll need @x1 for me to refit that.", costStr), true, false);
                 return false;
             }
@@ -114,8 +114,8 @@ public class ItemRefitter extends StdBehavior {
             && (!(msg.tool() instanceof Coins))
             && (msg.tool() instanceof Armor)) {
             final double cost = cost((Item) msg.tool());
-            CMLib.beanCounter().subtractMoney(source, CMLib.beanCounter().getCurrency(observer), cost);
-            final String costStr = CMLib.beanCounter().nameCurrencyLong(observer, cost);
+            CMLib.moneyCounter().subtractMoney(source, CMLib.moneyCounter().getCurrency(observer), cost);
+            final String costStr = CMLib.moneyCounter().nameCurrencyLong(observer, cost);
             source.recoverPhyStats();
             ((Item) msg.tool()).basePhyStats().setHeight(0);
             ((Item) msg.tool()).recoverPhyStats();
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/MoneyChanger.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/MoneyChanger.java
index e4a2649d26..a9e35bf8c9 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/MoneyChanger.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/MoneyChanger.java
@@ -65,14 +65,14 @@ public class MoneyChanger extends StdBehavior {
         currency = currency.toUpperCase();
         if (rates.containsKey(currency))
             return rates;
-        String myCurrency = CMLib.beanCounter().getCurrency(affecting);
+        String myCurrency = CMLib.moneyCounter().getCurrency(affecting);
         if (myCurrency.equalsIgnoreCase(currency)) {
             rates.put(currency, Double.valueOf(cut));
             return rates;
         }
         SpaceObject homeO = CMLib.map().getSpaceObject(affecting, false);
         if (homeO != null) {
-            myCurrency = CMLib.beanCounter().getCurrency(homeO);
+            myCurrency = CMLib.moneyCounter().getCurrency(homeO);
             if (myCurrency.equalsIgnoreCase(currency)) {
                 rates.put(currency, Double.valueOf(cut));
                 return rates;
@@ -88,7 +88,7 @@ public class MoneyChanger extends StdBehavior {
         for (Enumeration<Area> a = CMLib.map().spaceAreas(); a.hasMoreElements(); ) {
             Area A = a.nextElement();
             if ((A != null) && (A != homeO)) {
-                myCurrency = CMLib.beanCounter().getCurrency(A);
+                myCurrency = CMLib.moneyCounter().getCurrency(A);
                 if (myCurrency.equalsIgnoreCase(currency)) {
                     SpaceObject oA = (SpaceObject) A;
                     long distance = CMLib.map().getDistanceFrom(homeO, oA);
@@ -196,12 +196,12 @@ public class MoneyChanger extends StdBehavior {
             double value = ((Coins) msg.tool()).getTotalValue();
             final String currency = ((Coins) msg.tool()).getCurrency().toUpperCase();
             double takeCut = getMyCut(affecting, currency);
-            double amountToTake = CMLib.beanCounter().abbreviatedRePrice(observer, value * takeCut);
-            if ((amountToTake > 0.0) && (amountToTake < CMLib.beanCounter().getLowestDenomination(CMLib.beanCounter().getCurrency(observer))))
-                amountToTake = CMLib.beanCounter().getLowestDenomination(CMLib.beanCounter().getCurrency(observer));
+            double amountToTake = CMLib.moneyCounter().abbreviatedRePrice(observer, value * takeCut);
+            if ((amountToTake > 0.0) && (amountToTake < CMLib.moneyCounter().getLowestDenomination(CMLib.moneyCounter().getCurrency(observer))))
+                amountToTake = CMLib.moneyCounter().getLowestDenomination(CMLib.moneyCounter().getCurrency(observer));
             value -= amountToTake;
             observer.recoverPhyStats();
-            final Coins C = CMLib.beanCounter().makeBestCurrency(observer, value);
+            final Coins C = CMLib.moneyCounter().makeBestCurrency(observer, value);
             if ((value <= 0) || (C == null)) {
                 CMLib.commands().postSay(observer, source, L("I'm sorry, I can not change such a small amount."), true, false);
                 return false;
@@ -227,12 +227,12 @@ public class MoneyChanger extends StdBehavior {
                 double value = ((Coins) msg.tool()).getTotalValue();
                 final String currency = ((Coins) msg.tool()).getCurrency().toUpperCase();
                 double takeCut = getMyCut(affecting, currency);
-                double amountToTake = CMLib.beanCounter().abbreviatedRePrice(observer, value * takeCut);
-                if ((amountToTake > 0.0) && (amountToTake < CMLib.beanCounter().getLowestDenomination(CMLib.beanCounter().getCurrency(observer))))
-                    amountToTake = CMLib.beanCounter().getLowestDenomination(CMLib.beanCounter().getCurrency(observer));
+                double amountToTake = CMLib.moneyCounter().abbreviatedRePrice(observer, value * takeCut);
+                if ((amountToTake > 0.0) && (amountToTake < CMLib.moneyCounter().getLowestDenomination(CMLib.moneyCounter().getCurrency(observer))))
+                    amountToTake = CMLib.moneyCounter().getLowestDenomination(CMLib.moneyCounter().getCurrency(observer));
                 value -= amountToTake;
                 observer.recoverPhyStats();
-                final Coins C = CMLib.beanCounter().makeBestCurrency(observer, value);
+                final Coins C = CMLib.moneyCounter().makeBestCurrency(observer, value);
                 if ((value > 0.0) && (C != null)) {
                     // this message will actually end up triggering the hand-over.
                     final CMMsg newMsg = CMClass.getMsg(observer, source, C, CMMsg.MSG_SPEAK, L("^T<S-NAME> say(s) 'Thank you for your business' to <T-NAMESELF>.^?"));
@@ -257,6 +257,6 @@ public class MoneyChanger extends StdBehavior {
             && (((Coins) msg.tool()).amDestroyed())
             && (!msg.source().isMine(msg.tool()))
             && (!((MOB) msg.target()).isMine(msg.tool())))
-            CMLib.beanCounter().giveSomeoneMoney(msg.source(), (MOB) msg.target(), ((Coins) msg.tool()).getTotalValue());
+            CMLib.moneyCounter().giveSomeoneMoney(msg.source(), (MOB) msg.target(), ((Coins) msg.tool()).getTotalValue());
     }
 }
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/Nanny.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/Nanny.java
index f14b2cbb7f..0a42cb52b7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/Nanny.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/Nanny.java
@@ -211,7 +211,7 @@ public class Nanny extends StdBehavior {
                 long t = System.currentTimeMillis() - D.dropOffTime;
                 t = Math.round(Math.floor(CMath.div(t, CMProps.getMillisPerMudHour())));
                 if (t > 0)
-                    return CMLib.beanCounter().abbreviatedPrice(currency, (t + hourlyRate)) + " for watching " + P.name();
+                    return CMLib.moneyCounter().abbreviatedPrice(currency, (t + hourlyRate)) + " for watching " + P.name();
             }
         }
         return "";
@@ -232,7 +232,7 @@ public class Nanny extends StdBehavior {
                 long t = System.currentTimeMillis() - D.dropOffTime;
                 t = Math.round(Math.ceil(CMath.div(t, CMProps.getMillisPerMudHour())));
                 if (t > 0)
-                    owed.append(CMLib.beanCounter().abbreviatedPrice(currency, (t * hourlyRate)) + " for " + D.baby.name() + ", ");
+                    owed.append(CMLib.moneyCounter().abbreviatedPrice(currency, (t * hourlyRate)) + " for " + D.baby.name() + ", ");
             }
         }
         String s = owed.toString();
@@ -276,12 +276,12 @@ public class Nanny extends StdBehavior {
             }
             if (msg.tool() instanceof Coins) {
                 final Coins C = (Coins) msg.tool();
-                final String myCurrency = CMLib.beanCounter().getCurrency(host);
+                final String myCurrency = CMLib.moneyCounter().getCurrency(host);
                 if (!C.getCurrency().equalsIgnoreCase(myCurrency)) {
                     if (host instanceof MOB)
-                        CMLib.commands().postSay((MOB) host, msg.source(), L("I'm don't accept @x1.  I can only accept @x2.", CMLib.beanCounter().getDenominationName(C.getCurrency(), C.getDenomination()), CMLib.beanCounter().getDenominationName(myCurrency)));
+                        CMLib.commands().postSay((MOB) host, msg.source(), L("I'm don't accept @x1.  I can only accept @x2.", CMLib.moneyCounter().getDenominationName(C.getCurrency(), C.getDenomination()), CMLib.moneyCounter().getDenominationName(myCurrency)));
                     else
-                        msg.source().tell(L("The @x1 doesn't accept @x2.  It only accepts @x3.", place, CMLib.beanCounter().getDenominationName(C.getCurrency(), C.getDenomination()), CMLib.beanCounter().getDenominationName(myCurrency)));
+                        msg.source().tell(L("The @x1 doesn't accept @x2.  It only accepts @x3.", place, CMLib.moneyCounter().getDenominationName(C.getCurrency(), C.getDenomination()), CMLib.moneyCounter().getDenominationName(myCurrency)));
                     return false;
                 }
             }
@@ -293,7 +293,7 @@ public class Nanny extends StdBehavior {
             && (!msg.targetMajor(CMMsg.MASK_INTERMSG))
             && (getDroppedOffObjIfAny((Item) msg.target())) != null) {
             final PhysicalAgent obj = getDroppedOffObjIfAny((Item) msg.target());
-            final String amt = getOwedFor(CMLib.beanCounter().getCurrency(host), obj);
+            final String amt = getOwedFor(CMLib.moneyCounter().getCurrency(host), obj);
             if ((msg.source().location() == CMLib.map().roomLocation(host))
                 && (host instanceof MOB)) {
                 if (amt.length() > 0)
@@ -339,7 +339,7 @@ public class Nanny extends StdBehavior {
                         return false;
                     }
                 } else {
-                    final String amt = getOwedFor(CMLib.beanCounter().getCurrency(host), obj);
+                    final String amt = getOwedFor(CMLib.moneyCounter().getCurrency(host), obj);
                     if ((msg.source().location() == CMLib.map().roomLocation(host))
                         && (host instanceof MOB)) {
                         if (amt.length() > 0)
@@ -487,7 +487,7 @@ public class Nanny extends StdBehavior {
 
         if ((msg.targetMinor() == CMMsg.TYP_ENTER)
             && (msg.target() == CMLib.map().roomLocation(host))) {
-            final String currency = CMLib.beanCounter().getCurrency(host);
+            final String currency = CMLib.moneyCounter().getCurrency(host);
             final Set H = msg.source().getGroupMembers(new HashSet<MOB>());
             msg.source().getRideBuddies(H);
             if (!H.contains(msg.source()))
@@ -522,7 +522,7 @@ public class Nanny extends StdBehavior {
             if (list.length() > 0)
                 sayLaters.addElement(msg.source(), "Welcome to my " + place + ", " + msg.source().name() + "! You are welcome to leave " +
                     list.toString() + " here under my care and protection.  Be aware that I charge "
-                    + CMLib.beanCounter().abbreviatedPrice(currency, hourlyRate) + " per hour, each.  " +
+                    + CMLib.moneyCounter().abbreviatedPrice(currency, hourlyRate) + " per hour, each.  " +
                     "No payment is due until you return to fetch your " + getPronoun(myAssocs) + ".");
 
             final double owed = getAllOwedBy(msg.source());
@@ -532,7 +532,7 @@ public class Nanny extends StdBehavior {
                 final String pronoun = getPronoun(myStuff);
                 sayLaters.addElement(msg.source(), "Welcome back, " + msg.source().name() + "! If are here for your " + pronoun
                     + ", the total bill is: " + getAllOwedBy(currency, msg.source())
-                    + " (" + CMLib.beanCounter().abbreviatedPrice(currency, owed - paid) + "). "
+                    + " (" + CMLib.moneyCounter().abbreviatedPrice(currency, owed - paid) + "). "
                     + "You can just give me the money to settle the bill.");
             }
         } else if ((msg.target() == host)
@@ -541,10 +541,10 @@ public class Nanny extends StdBehavior {
             addPayment(msg.source(), ((Coins) msg.tool()).getTotalValue());
             final double owed = getAllOwedBy(msg.source());
             final double paid = getPaidBy(msg.source());
-            final String currency = CMLib.beanCounter().getCurrency(host);
+            final String currency = CMLib.moneyCounter().getCurrency(host);
             if ((paid > owed) && (host instanceof MOB)) {
                 final double change = paid - owed;
-                final Coins C = CMLib.beanCounter().makeBestCurrency(currency, change);
+                final Coins C = CMLib.moneyCounter().makeBestCurrency(currency, change);
                 final MOB source = msg.source();
                 if ((change > 0.0) && (C != null)) {
                     // this message will actually end up triggering the hand-over.
@@ -582,7 +582,7 @@ public class Nanny extends StdBehavior {
                 clearTheSlate(msg.source());
                 sayLaters.addElement(msg.source(), "Thanks, come again!");
             } else
-                sayLaters.addElement(msg.source(), "Thanks, but you still owe " + CMLib.beanCounter().abbreviatedPrice(currency, owed - paid) + ".");
+                sayLaters.addElement(msg.source(), "Thanks, but you still owe " + CMLib.moneyCounter().abbreviatedPrice(currency, owed - paid) + ".");
         } else if ((msg.source() == host)
             && (msg.targetMinor() == CMMsg.TYP_SPEAK)
             && (msg.target() instanceof MOB)
@@ -590,7 +590,7 @@ public class Nanny extends StdBehavior {
             && (((Coins) msg.tool()).amDestroyed())
             && (!msg.source().isMine(msg.tool()))
             && (!((MOB) msg.target()).isMine(msg.tool())))
-            CMLib.beanCounter().giveSomeoneMoney(msg.source(), (MOB) msg.target(), ((Coins) msg.tool()).getTotalValue());
+            CMLib.moneyCounter().giveSomeoneMoney(msg.source(), (MOB) msg.target(), ((Coins) msg.tool()).getTotalValue());
     }
 
     public int getNameCount(Vector<String> V, String name) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/PokerDealer.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/PokerDealer.java
index 9d1b1b0f46..8469f0e1f6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/PokerDealer.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/PokerDealer.java
@@ -193,8 +193,8 @@ public class PokerDealer extends StdBehavior {
     // this method just returns the amount of
     // anti as a displayable string.
     private String antiAmount(Environmental host) {
-        final String currency = CMLib.beanCounter().getCurrency(host);
-        return CMLib.beanCounter().abbreviatedPrice(currency, anti);
+        final String currency = CMLib.moneyCounter().getCurrency(host);
+        return CMLib.moneyCounter().abbreviatedPrice(currency, anti);
     }
 
     // since we don't know whether the host of this
@@ -307,7 +307,7 @@ public class PokerDealer extends StdBehavior {
             && (msg.target() instanceof Coins)
             && (!msg.targetMajor(CMMsg.MASK_INTERMSG))) {
             final Double inPot = pot.contains(msg.source()) ? (Double) pot.elementAt(pot.indexOf(msg.source()), 2) : null;
-            final String currency = CMLib.beanCounter().getCurrency(host);
+            final String currency = CMLib.moneyCounter().getCurrency(host);
             final MOB playerDroppingMoney = msg.source();
             final Coins theMoneyDropped = (Coins) msg.target();
 
@@ -315,7 +315,7 @@ public class PokerDealer extends StdBehavior {
             // wrong, then abort their attempt to drop it into
             // the pot.
             if (!currency.equals(theMoneyDropped.getCurrency())) {
-                playerDroppingMoney.tell(L("That is not the proper currency.  This table is only dealing in @x1.", CMLib.beanCounter().getDenominationName(currency)));
+                playerDroppingMoney.tell(L("That is not the proper currency.  This table is only dealing in @x1.", CMLib.moneyCounter().getDenominationName(currency)));
                 return false;
             }
 
@@ -335,15 +335,15 @@ public class PokerDealer extends StdBehavior {
                     // if they give too much, queue up a change making message.
                     if (theMoneyDropped.getTotalValue() > anti) {
                         final double change = theMoneyDropped.getTotalValue() - anti;
-                        Coins C = CMLib.beanCounter().makeBestCurrency(currency, change);
+                        Coins C = CMLib.moneyCounter().makeBestCurrency(currency, change);
                         final CMMsg changeMsg = CMClass.getMsg(playerDroppingMoney, C, null,
-                            CMMsg.MASK_ALWAYS | CMMsg.MSG_GET, L("You anti up, picking up @x1 in change.", CMLib.beanCounter().abbreviatedPrice(currency, change)),
+                            CMMsg.MASK_ALWAYS | CMMsg.MSG_GET, L("You anti up, picking up @x1 in change.", CMLib.moneyCounter().abbreviatedPrice(currency, change)),
                             CMMsg.MASK_ALWAYS | CMMsg.MSG_GET, null,
                             CMMsg.MASK_ALWAYS | CMMsg.MSG_GET, L("<S-NAME> antis up."));
                         msg.addTrailerMsg(changeMsg);
                         // now we want to clear the drop message,
                         // and modify the amount actually being dropped.
-                        C = CMLib.beanCounter().makeBestCurrency(currency, anti);
+                        C = CMLib.moneyCounter().makeBestCurrency(currency, anti);
                         theMoneyDropped.setNumberOfCoins(C.getNumberOfCoins());
                         theMoneyDropped.setDenomination(C.getDenomination());
                         msg.modify(msg.source(), msg.target(), msg.tool(), msg.sourceCode(), null, msg.targetCode(), null, msg.othersCode(), null);
@@ -380,20 +380,20 @@ public class PokerDealer extends StdBehavior {
 
                     // if they havn't given enough to call, allow it, but let them know.
                     if (theMoneyDropped.getTotalValue() < amountNeededToCall)
-                        msg.source().tell(L("That won't be enough.  You'll still need to drop @x1 more to call.", CMLib.beanCounter().abbreviatedPrice(currency, amountNeededToCall - theMoneyDropped.getTotalValue())));
+                        msg.source().tell(L("That won't be enough.  You'll still need to drop @x1 more to call.", CMLib.moneyCounter().abbreviatedPrice(currency, amountNeededToCall - theMoneyDropped.getTotalValue())));
                     else
                         // if they give too much, make change
                         if (theMoneyDropped.getTotalValue() > amountNeededToCall) {
                             final double change = theMoneyDropped.getTotalValue() - amountNeededToCall;
-                            Coins C = CMLib.beanCounter().makeBestCurrency(currency, change);
+                            Coins C = CMLib.moneyCounter().makeBestCurrency(currency, change);
                             final CMMsg changeMsg = CMClass.getMsg(playerDroppingMoney, C, null,
-                                CMMsg.MASK_ALWAYS | CMMsg.MSG_GET, L("You see the bet, picking up @x1 in change.@x2", CMLib.beanCounter().abbreviatedPrice(currency, change), instructions),
+                                CMMsg.MASK_ALWAYS | CMMsg.MSG_GET, L("You see the bet, picking up @x1 in change.@x2", CMLib.moneyCounter().abbreviatedPrice(currency, change), instructions),
                                 CMMsg.MASK_ALWAYS | CMMsg.MSG_GET, null,
                                 CMMsg.MASK_ALWAYS | CMMsg.MSG_GET, L("<S-NAME> see(s) the bet."));
                             msg.addTrailerMsg(changeMsg);
                             // now we want to clear the drop message,
                             // and modify the amount actually being dropped.
-                            C = CMLib.beanCounter().makeBestCurrency(currency, anti);
+                            C = CMLib.moneyCounter().makeBestCurrency(currency, anti);
                             theMoneyDropped.setNumberOfCoins(C.getNumberOfCoins());
                             theMoneyDropped.setDenomination(C.getDenomination());
                             msg.modify(msg.source(), msg.target(), msg.tool(), msg.sourceCode(), null, msg.targetCode(), null, msg.othersCode(), null);
@@ -411,8 +411,8 @@ public class PokerDealer extends StdBehavior {
                     for (int p = 0; p < pot.size(); p++) {
                         if (pot.elementAt(p, 1) != playerDroppingMoney) {
                             final MOB mob = (MOB) pot.elementAt(p, 1);
-                            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, currency) < totalDown) {
-                                msg.source().tell(L("You may only bet up to @x1 due to the table-stakes rule.", CMLib.beanCounter().abbreviatedPrice(currency, CMLib.beanCounter().getTotalAbsoluteValue(mob, currency))));
+                            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency) < totalDown) {
+                                msg.source().tell(L("You may only bet up to @x1 due to the table-stakes rule.", CMLib.moneyCounter().abbreviatedPrice(currency, CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency))));
                                 return false;
                             }
                         }
@@ -600,7 +600,7 @@ public class PokerDealer extends StdBehavior {
                         final double amountToCall = amountToCall();
                         final double amountInPot = (inPot == null) ? 0.0 : inPot.doubleValue();
                         final double amountNeededToCall = amountToCall - amountInPot;
-                        final String currency = CMLib.beanCounter().getCurrency(host);
+                        final String currency = CMLib.moneyCounter().getCurrency(host);
 
                         // now we check their words against the pot
                         // and whatever they say, we move on
@@ -615,7 +615,7 @@ public class PokerDealer extends StdBehavior {
                             case PLAYER_BET_ACT_PASS: {
                                 final int whatHappened = getCalled0Raised1OrFolded(speaker);
                                 if (whatHappened < 0)
-                                    communicate(host, speaker, "You can not pass.  You can either drop " + CMLib.beanCounter().abbreviatedPrice(currency, amountNeededToCall) + ", or fold.", msg);
+                                    communicate(host, speaker, "You can not pass.  You can either drop " + CMLib.moneyCounter().abbreviatedPrice(currency, amountNeededToCall) + ", or fold.", msg);
                                 else {
                                     if (isThePotRight())
                                         communicate(host, speaker, "<T-NAME> pass(es).", msg);
@@ -630,7 +630,7 @@ public class PokerDealer extends StdBehavior {
                             case PLAYER_BET_ACT_CALL: {
                                 final int whatHappened = getCalled0Raised1OrFolded(speaker);
                                 if (whatHappened < 0)
-                                    communicate(host, speaker, "You can not call until you have dropped " + CMLib.beanCounter().abbreviatedPrice(currency, amountNeededToCall) + ".  You must drop or fold.", msg);
+                                    communicate(host, speaker, "You can not call until you have dropped " + CMLib.moneyCounter().abbreviatedPrice(currency, amountNeededToCall) + ".  You must drop or fold.", msg);
                                 else {
                                     if (whatHappened > 0)
                                         communicate(host, speaker, "<T-NAME> raise(s).", msg);
@@ -641,7 +641,7 @@ public class PokerDealer extends StdBehavior {
                             case PLAYER_BET_ACT_RAISE: {
                                 final int whatHappened = getCalled0Raised1OrFolded(speaker);
                                 if (whatHappened < 0)
-                                    communicate(host, speaker, "You can not raise until you have at least dropped " + CMLib.beanCounter().abbreviatedPrice(currency, amountNeededToCall) + " and then dropped more.  You must drop or fold.", msg);
+                                    communicate(host, speaker, "You can not raise until you have at least dropped " + CMLib.moneyCounter().abbreviatedPrice(currency, amountNeededToCall) + " and then dropped more.  You must drop or fold.", msg);
                                 else {
                                     if (whatHappened == 0)
                                         communicate(host, speaker, "<T-NAME> call(s).", msg);
@@ -1148,8 +1148,8 @@ public class PokerDealer extends StdBehavior {
                     I.destroy();
                 }
                 if (totalValue > 0.0) {
-                    CMLib.beanCounter().giveSomeoneMoney(winner, CMLib.beanCounter().getCurrency(host), totalValue);
-                    R.show(winner, null, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> collect(s) @x1 in winnings.", CMLib.beanCounter().abbreviatedPrice(CMLib.beanCounter().getCurrency(host), totalValue)));
+                    CMLib.moneyCounter().giveSomeoneMoney(winner, CMLib.moneyCounter().getCurrency(host), totalValue);
+                    R.show(winner, null, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> collect(s) @x1 in winnings.", CMLib.moneyCounter().abbreviatedPrice(CMLib.moneyCounter().getCurrency(host), totalValue)));
                 }
             }
         } else
@@ -1320,11 +1320,11 @@ public class PokerDealer extends StdBehavior {
                     final double amountToCall = amountToCall();
                     final double amountInPot = (inPot == null) ? 0.0 : inPot.doubleValue();
                     final double amountNeededToCall = amountToCall - amountInPot;
-                    final String currency = CMLib.beanCounter().getCurrency(host);
+                    final String currency = CMLib.moneyCounter().getCurrency(host);
                     if (amountNeededToCall == 0.0)
                         communicate(host, whoseTurn, "Ok, " + whoseTurn.name() + ", you may open betting by dropping money, or you may say 'pass'.", null);
                     else
-                        communicate(host, whoseTurn, "Ok, " + whoseTurn.name() + ", you may call the bet of " + CMLib.beanCounter().abbreviatedPrice(currency, amountNeededToCall) + " by dropping money, or you may say 'fold'.", null);
+                        communicate(host, whoseTurn, "Ok, " + whoseTurn.name() + ", you may call the bet of " + CMLib.moneyCounter().abbreviatedPrice(currency, amountNeededToCall) + " by dropping money, or you may say 'fold'.", null);
                     communicate(host, whoseTurn, "You have " + TIME_SECONDSTOBET + " seconds.", null);
                     timer = System.currentTimeMillis() + (TIME_SECONDSTOBET * 1000);
                     break;
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/RandomItems.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/RandomItems.java
index da5a9fd90b..ddb914e194 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/RandomItems.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/RandomItems.java
@@ -212,7 +212,7 @@ public class RandomItems extends ActiveTicker {
             if (items != null)
                 return items;
             items = new Vector<Item>();
-            final String error = CMLib.coffeeMaker().addItemsFromXML(filename, items, null);
+            final String error = CMLib.aetherMaker().addItemsFromXML(filename, items, null);
             if (error.length() > 0) {
                 if (alreadyTriedLoad)
                     return null;
@@ -247,7 +247,7 @@ public class RandomItems extends ActiveTicker {
                     return null;
                 }
                 items = new Vector<Item>();
-                final String error = CMLib.coffeeMaker().addItemsFromXML(buf.toString(), items, null);
+                final String error = CMLib.aetherMaker().addItemsFromXML(buf.toString(), items, null);
                 if (error.length() > 0) {
                     Log.errOut("RandomItems: Error on import of: '" + filename + "' for '" + thangName + "' (" + thangID + "): " + error + ".");
                     return null;
@@ -272,7 +272,7 @@ public class RandomItems extends ActiveTicker {
             return true;
         Item I = null;
         final Environmental E = (Environmental) ticking;
-        final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(E);
+        final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(E);
         for (int i = maintained.size() - 1; i >= 0; i--) {
             try {
                 I = maintained.elementAt(i);
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/RandomMonsters.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/RandomMonsters.java
index 2bee40a0dd..2acb26022a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/RandomMonsters.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/RandomMonsters.java
@@ -188,7 +188,7 @@ public class RandomMonsters extends ActiveTicker {
             if (monsters != null)
                 return monsters;
             monsters = new Vector<MOB>();
-            final String error = CMLib.coffeeMaker().addMOBsFromXML(filename, monsters, null);
+            final String error = CMLib.aetherMaker().addMOBsFromXML(filename, monsters, null);
             if (error.length() > 0) {
                 if (alreadyTriedLoad)
                     return null;
@@ -223,7 +223,7 @@ public class RandomMonsters extends ActiveTicker {
                     return null;
                 }
                 monsters = new Vector<MOB>();
-                final String error = CMLib.coffeeMaker().addMOBsFromXML(buf.toString(), monsters, null);
+                final String error = CMLib.aetherMaker().addMOBsFromXML(buf.toString(), monsters, null);
                 if (error.length() > 0) {
                     Log.errOut("RandomMonsters: Error on import of: '" + filename + "' for '" + thangName + "' (" + thangID + "): " + error + ".");
                     return null;
diff --git a/src/main/java/com/syncleus/aethermud/game/Behaviors/TaxCollector.java b/src/main/java/com/syncleus/aethermud/game/Behaviors/TaxCollector.java
index 32381f95ae..fa822afc6a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Behaviors/TaxCollector.java
+++ b/src/main/java/com/syncleus/aethermud/game/Behaviors/TaxCollector.java
@@ -110,11 +110,11 @@ public class TaxCollector extends StdBehavior {
                 if (theLaw != null) {
                     final double cittax = CMath.s_double((String) theLaw.taxLaws().get("CITTAX"));
                     if (cittax > 0.0)
-                        owed[OWE_CITIZENTAX] = CMath.mul(CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(M, collector), CMath.div(cittax, 100.0));
+                        owed[OWE_CITIZENTAX] = CMath.mul(CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(M, collector), CMath.div(cittax, 100.0));
                 }
             }
         } else
-            owed[OWE_CITIZENTAX] = CMath.div(CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(M, collector), 10.0);
+            owed[OWE_CITIZENTAX] = CMath.div(CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(M, collector), 10.0);
         owed[OWE_TOTAL] = owed[OWE_CITIZENTAX] + owed[OWE_BACKTAXES] + owed[OWE_FINES];
         owed[OWE_TOTAL] = Math.round(owed[OWE_TOTAL]);
         return owed;
@@ -135,7 +135,7 @@ public class TaxCollector extends StdBehavior {
                 if (treasuryRoomID != null) {
                     final Room treasuryR = CMLib.map().getRoom(treasuryRoomID);
                     if (treasuryR != null) {
-                        final Coins COIN = CMLib.beanCounter().makeBestCurrency(CMLib.beanCounter().getCurrency(mob), paidAmount, treasuryR, treasuryContainer);
+                        final Coins COIN = CMLib.moneyCounter().makeBestCurrency(CMLib.moneyCounter().getCurrency(mob), paidAmount, treasuryR, treasuryContainer);
                         if (COIN != null)
                             COIN.putCoinsBack();
                     }
@@ -225,13 +225,13 @@ public class TaxCollector extends StdBehavior {
         if (msg.amITarget(mob)
             && (msg.targetMinor() == CMMsg.TYP_GIVE)
             && (msg.tool() instanceof Coins)) {
-            final String currency = CMLib.beanCounter().getCurrency(mob);
+            final String currency = CMLib.moneyCounter().getCurrency(mob);
             final double[] owe = totalMoneyOwed(mob, msg.source());
             final double coins = ((Coins) msg.tool()).getTotalValue();
             if ((paid != null) && (paid.contains(msg.source())))
                 owe[OWE_TOTAL] -= owe[OWE_CITIZENTAX];
-            final String owed = CMLib.beanCounter().nameCurrencyShort(currency, owe[OWE_TOTAL]);
-            if ((!((Coins) msg.tool()).getCurrency().equals(CMLib.beanCounter().getCurrency(mob)))) {
+            final String owed = CMLib.moneyCounter().nameCurrencyShort(currency, owe[OWE_TOTAL]);
+            if ((!((Coins) msg.tool()).getCurrency().equals(CMLib.moneyCounter().getCurrency(mob)))) {
                 msg.source().tell(L("@x1 refuses your money.", mob.name(msg.source())));
                 CMLib.commands().postSay(mob, msg.source(), L("I don't accept that kind of currency."), false, false);
                 return false;
@@ -324,14 +324,14 @@ public class TaxCollector extends StdBehavior {
                 if ((!paid.contains(M)) && (demandDex < 0)) {
                     final double[] owe = totalMoneyOwed(mob, M);
                     final StringBuffer say = new StringBuffer("");
-                    final String currency = CMLib.beanCounter().getCurrency(mob);
-                    final double denomination = CMLib.beanCounter().getLowestDenomination(currency);
+                    final String currency = CMLib.moneyCounter().getCurrency(mob);
+                    final double denomination = CMLib.moneyCounter().getLowestDenomination(currency);
                     if (owe[OWE_CITIZENTAX] > 1.0)
-                        say.append("You owe " + CMLib.beanCounter().getDenominationName(currency, denomination, Math.round(CMath.div(owe[OWE_CITIZENTAX], denomination))) + " in local taxes. ");
+                        say.append("You owe " + CMLib.moneyCounter().getDenominationName(currency, denomination, Math.round(CMath.div(owe[OWE_CITIZENTAX], denomination))) + " in local taxes. ");
                     if (owe[OWE_BACKTAXES] > 1.0)
-                        say.append("You owe " + CMLib.beanCounter().getDenominationName(currency, denomination, Math.round(CMath.div(owe[OWE_BACKTAXES], denomination))) + " in back property taxes");
+                        say.append("You owe " + CMLib.moneyCounter().getDenominationName(currency, denomination, Math.round(CMath.div(owe[OWE_BACKTAXES], denomination))) + " in back property taxes");
                     if (owe[OWE_FINES] > 1.0)
-                        say.append("You owe " + CMLib.beanCounter().getDenominationName(currency, denomination, Math.round(CMath.div(owe[OWE_FINES], denomination))) + " in fines");
+                        say.append("You owe " + CMLib.moneyCounter().getDenominationName(currency, denomination, Math.round(CMath.div(owe[OWE_FINES], denomination))) + " in fines");
                     if (say.length() > 0) {
                         CMLib.commands().postSay(mob, M, L("@x1.  You must pay me immediately or face the consequences.", say.toString()), false, false);
                         demanded.addElement(M, Long.valueOf(System.currentTimeMillis()));
diff --git a/src/main/java/com/syncleus/aethermud/game/CharClasses/GenCharClass.java b/src/main/java/com/syncleus/aethermud/game/CharClasses/GenCharClass.java
index 62ff7487c2..95c3d4f2bb 100644
--- a/src/main/java/com/syncleus/aethermud/game/CharClasses/GenCharClass.java
+++ b/src/main/java/com/syncleus/aethermud/game/CharClasses/GenCharClass.java
@@ -515,23 +515,23 @@ public class GenCharClass extends StdCharClass {
         if (adjPStats == null)
             str.append("<ESTATS/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("ESTATS", CMLib.coffeeMaker().getPhyStatsStr(adjPStats)));
+            str.append(CMLib.xml().convertXMLtoTag("ESTATS", CMLib.aetherMaker().getPhyStatsStr(adjPStats)));
         if (adjStats == null)
             str.append("<ASTATS/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("ASTATS", CMLib.coffeeMaker().getCharStatsStr(adjStats)));
+            str.append(CMLib.xml().convertXMLtoTag("ASTATS", CMLib.aetherMaker().getCharStatsStr(adjStats)));
         if (setStats == null)
             str.append("<CSTATS/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("CSTATS", CMLib.coffeeMaker().getCharStatsStr(setStats)));
+            str.append(CMLib.xml().convertXMLtoTag("CSTATS", CMLib.aetherMaker().getCharStatsStr(setStats)));
         if (adjState == null)
             str.append("<ASTATE/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("ASTATE", CMLib.coffeeMaker().getCharStateStr(adjState)));
+            str.append(CMLib.xml().convertXMLtoTag("ASTATE", CMLib.aetherMaker().getCharStateStr(adjState)));
         if (startAdjState == null)
             str.append("<STARTASTATE/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("STARTASTATE", CMLib.coffeeMaker().getCharStateStr(startAdjState)));
+            str.append(CMLib.xml().convertXMLtoTag("STARTASTATE", CMLib.aetherMaker().getCharStateStr(startAdjState)));
         str.append(CMLib.xml().convertXMLtoTag("DISFLAGS", "" + disableFlags));
 
         final Vector<AbilityMapper.AbilityMapping> ables = getAbleSet();
@@ -716,25 +716,25 @@ public class GenCharClass extends StdCharClass {
         final String eStats = CMLib.xml().getValFromPieces(classData, "ESTATS");
         if (eStats.length() > 0) {
             adjPStats = (PhyStats) CMClass.getCommon("DefaultPhyStats");
-            CMLib.coffeeMaker().setPhyStats(adjPStats, eStats);
+            CMLib.aetherMaker().setPhyStats(adjPStats, eStats);
         }
         adjStats = null;
         final String aStats = CMLib.xml().getValFromPieces(classData, "ASTATS");
         if (aStats.length() > 0) {
             adjStats = (CharStats) CMClass.getCommon("DefaultCharStats");
-            CMLib.coffeeMaker().setCharStats(adjStats, aStats);
+            CMLib.aetherMaker().setCharStats(adjStats, aStats);
         }
         setStats = null;
         final String cStats = CMLib.xml().getValFromPieces(classData, "CSTATS");
         if (cStats.length() > 0) {
             setStats = (CharStats) CMClass.getCommon("DefaultCharStats");
-            CMLib.coffeeMaker().setCharStats(setStats, cStats);
+            CMLib.aetherMaker().setCharStats(setStats, cStats);
         }
         adjState = null;
         final String aState = CMLib.xml().getValFromPieces(classData, "ASTATE");
         if (aState.length() > 0) {
             adjState = (CharState) CMClass.getCommon("DefaultCharState");
-            CMLib.coffeeMaker().setCharState(adjState, aState);
+            CMLib.aetherMaker().setCharState(adjState, aState);
         }
         startAdjState = null;
         disableFlags = CMLib.xml().getIntFromPieces(classData, "DISFLAGS");
@@ -742,7 +742,7 @@ public class GenCharClass extends StdCharClass {
         if (saState.length() > 0) {
             startAdjState = (CharState) CMClass.getCommon("DefaultCharState");
             startAdjState.setAllValues(0);
-            CMLib.coffeeMaker().setCharState(startAdjState, saState);
+            CMLib.aetherMaker().setCharState(startAdjState, saState);
         }
 
         List<XMLLibrary.XMLTag> xV = CMLib.xml().getContentsFromPieces(classData, "CABILITIES");
@@ -921,13 +921,13 @@ public class GenCharClass extends StdCharClass {
             case 19:
                 return "" + selectability;
             case 20:
-                return (adjPStats == null) ? "" : CMLib.coffeeMaker().getPhyStatsStr(adjPStats);
+                return (adjPStats == null) ? "" : CMLib.aetherMaker().getPhyStatsStr(adjPStats);
             case 21:
-                return (adjStats == null) ? "" : CMLib.coffeeMaker().getCharStatsStr(adjStats);
+                return (adjStats == null) ? "" : CMLib.aetherMaker().getCharStatsStr(adjStats);
             case 22:
-                return (setStats == null) ? "" : CMLib.coffeeMaker().getCharStatsStr(setStats);
+                return (setStats == null) ? "" : CMLib.aetherMaker().getCharStatsStr(setStats);
             case 23:
-                return (adjState == null) ? "" : CMLib.coffeeMaker().getCharStateStr(adjState);
+                return (adjState == null) ? "" : CMLib.aetherMaker().getCharStateStr(adjState);
             case 24:
                 return Integer.toString(getAbleSet().size());
             case 25:
@@ -961,7 +961,7 @@ public class GenCharClass extends StdCharClass {
             case 39:
                 return "" + disableFlags;
             case 40:
-                return (startAdjState == null) ? "" : CMLib.coffeeMaker().getCharStateStr(startAdjState);
+                return (startAdjState == null) ? "" : CMLib.aetherMaker().getCharStateStr(startAdjState);
             case 41:
                 return "" + names.length;
             case 42:
@@ -1093,7 +1093,7 @@ public class GenCharClass extends StdCharClass {
                 if (val.length() > 0) {
                     adjPStats = (PhyStats) CMClass.getCommon("DefaultPhyStats");
                     adjPStats.setAllValues(0);
-                    CMLib.coffeeMaker().setPhyStats(adjPStats, val);
+                    CMLib.aetherMaker().setPhyStats(adjPStats, val);
                 }
                 break;
             case 21:
@@ -1101,7 +1101,7 @@ public class GenCharClass extends StdCharClass {
                 if (val.length() > 0) {
                     adjStats = (CharStats) CMClass.getCommon("DefaultCharStats");
                     adjStats.setAllValues(0);
-                    CMLib.coffeeMaker().setCharStats(adjStats, val);
+                    CMLib.aetherMaker().setCharStats(adjStats, val);
                 }
                 break;
             case 22:
@@ -1109,7 +1109,7 @@ public class GenCharClass extends StdCharClass {
                 if (val.length() > 0) {
                     setStats = (CharStats) CMClass.getCommon("DefaultCharStats");
                     setStats.setAllValues(0);
-                    CMLib.coffeeMaker().setCharStats(setStats, val);
+                    CMLib.aetherMaker().setCharStats(setStats, val);
                 }
                 break;
             case 23:
@@ -1117,7 +1117,7 @@ public class GenCharClass extends StdCharClass {
                 if (val.length() > 0) {
                     adjState = (CharState) CMClass.getCommon("DefaultCharState");
                     adjState.setAllValues(0);
-                    CMLib.coffeeMaker().setCharState(adjState, val);
+                    CMLib.aetherMaker().setCharState(adjState, val);
                 }
                 break;
             case 24:
@@ -1209,7 +1209,7 @@ public class GenCharClass extends StdCharClass {
                 if (val.length() > 0) {
                     startAdjState = (CharState) CMClass.getCommon("DefaultCharState");
                     startAdjState.setAllValues(0);
-                    CMLib.coffeeMaker().setCharState(startAdjState, val);
+                    CMLib.aetherMaker().setCharState(startAdjState, val);
                 }
                 break;
             case 41: {
diff --git a/src/main/java/com/syncleus/aethermud/game/CharClasses/Pirate.java b/src/main/java/com/syncleus/aethermud/game/CharClasses/Pirate.java
index fc4681fe85..7a8232cd5c 100644
--- a/src/main/java/com/syncleus/aethermud/game/CharClasses/Pirate.java
+++ b/src/main/java/com/syncleus/aethermud/game/CharClasses/Pirate.java
@@ -346,7 +346,7 @@ public class Pirate extends Thief {
                     }
                 });
             } else {
-                final String minAmt = CMLib.beanCounter().abbreviatedPrice(((Coins) msg.tool()).getCurrency(), min);
+                final String minAmt = CMLib.moneyCounter().abbreviatedPrice(((Coins) msg.tool()).getCurrency(), min);
                 final String himHer = ((MOB) myHost).charStats().himher();
                 msg.source().tell(L("You'll need to fork over at lease @x1 to make @x2 go away.", minAmt, himHer));
                 return false;
diff --git a/src/main/java/com/syncleus/aethermud/game/CharClasses/StdCharClass.java b/src/main/java/com/syncleus/aethermud/game/CharClasses/StdCharClass.java
index 90f0aa78c8..52e81394f7 100644
--- a/src/main/java/com/syncleus/aethermud/game/CharClasses/StdCharClass.java
+++ b/src/main/java/com/syncleus/aethermud/game/CharClasses/StdCharClass.java
@@ -896,7 +896,7 @@ public class StdCharClass implements CharClass {
         RS.setAllValues(0);
         affectPhyStats(fakeMOB, RS);
         RS.setRejuv(PhyStats.NO_REJUV);
-        CR.setStat("ESTATS", CMLib.coffeeMaker().getPhyStatsStr(RS));
+        CR.setStat("ESTATS", CMLib.aetherMaker().getPhyStatsStr(RS));
 
         final CharStats S1 = (CharStats) CMClass.getCommon("DefaultCharStats");
         S1.setMyClasses(ID());
@@ -932,13 +932,13 @@ public class StdCharClass implements CharClass {
                     ADJSTAT.setStat(i, S1.getStat(i));
             }
         }
-        CR.setStat("ASTATS", CMLib.coffeeMaker().getCharStatsStr(ADJSTAT));
-        CR.setStat("CSTATS", CMLib.coffeeMaker().getCharStatsStr(SETSTAT));
+        CR.setStat("ASTATS", CMLib.aetherMaker().getCharStatsStr(ADJSTAT));
+        CR.setStat("CSTATS", CMLib.aetherMaker().getCharStatsStr(SETSTAT));
 
         final CharState CS = (CharState) CMClass.getCommon("DefaultCharState");
         CS.setAllValues(0);
         affectCharState(fakeMOB, CS);
-        CR.setStat("ASTATE", CMLib.coffeeMaker().getCharStateStr(CS));
+        CR.setStat("ASTATE", CMLib.aetherMaker().getCharStateStr(CS));
 
         final List<AbilityMapper.AbilityMapping> data1 = CMLib.ableMapper().getUpToLevelListings(ID(), Integer.MAX_VALUE, true, false);
         if (data1.size() > 0)
@@ -986,7 +986,7 @@ public class StdCharClass implements CharClass {
             | (showThinQualifyList() ? CharClass.GENFLAG_THINQUALLIST : 0)));
         //CharState STARTCS=(CharState)CMClass.getCommon("DefaultCharState"); STARTCS.setAllValues(0);
         //this.startCharacter(mob,isBorrowedClass,verifyOnly)
-        //CR.setStat("STARTASTATE",CMLib.coffeeMaker().getCharStateStr(STARTCS));
+        //CR.setStat("STARTASTATE",CMLib.aetherMaker().getCharStateStr(STARTCS));
         final String[] names = nameSet();
         final List<List<String>> securitySets = new Vector<List<String>>();
         final List<Integer> securityLvls = new Vector<Integer>();
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Affect.java b/src/main/java/com/syncleus/aethermud/game/Commands/Affect.java
index 7e5e526166..bf6bc477e4 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Affect.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Affect.java
@@ -133,7 +133,7 @@ public class Affect extends StdCommand {
                     disp += ", BY=" + ((A.invoker() == null) ? "N/A" : A.invoker().Name());
                 String[] disps = {disp};
                 if (CMStrings.lengthMinusColors(disp) > (COL_LEN * NUM_COLS)) {
-                    String s = CMLib.coffeeFilter().fullOutFilter(S, mob, null, null, null, disp, true);
+                    String s = CMLib.aetherFilter().fullOutFilter(S, mob, null, null, null, disp, true);
                     s = CMStrings.replaceAll(s, "\r", "");
                     final List<String> V = CMParms.parseAny(s, '\n', true);
                     disps = new String[V.size()];
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Auction.java b/src/main/java/com/syncleus/aethermud/game/Commands/Auction.java
index 3b27203759..d3b7a4f19c 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Auction.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Auction.java
@@ -63,7 +63,7 @@ public class Auction extends Channel implements Tickable {
 
     public String liveAuctionStatus() {
         if (getLiveData().getAuctionedItem() != null) {
-            String bidWords = CMLib.beanCounter().nameCurrencyShort(getLiveData().getCurrency(), getLiveData().getBid());
+            String bidWords = CMLib.moneyCounter().nameCurrencyShort(getLiveData().getCurrency(), getLiveData().getBid());
             if (bidWords.length() == 0)
                 bidWords = "0";
             return "Up for live auction: " + getLiveData().getAuctionedItem().name() + ".  The current bid is " + bidWords + ".";
@@ -111,21 +111,21 @@ public class Auction extends Channel implements Tickable {
                 switch (AD.getAuctionState()) {
                     case STATE_RUNOUT:
                         V.add(L("The live auction for @x1 is almost done. The current bid is @x2.",
-                            AD.getAuctionedItem().name(), CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
+                            AD.getAuctionedItem().name(), CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
                         break;
                     case STATE_ONCE:
-                        V.add(L("@x1 for @x2 going ONCE!", CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid()), AD.getAuctionedItem().name()));
+                        V.add(L("@x1 for @x2 going ONCE!", CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid()), AD.getAuctionedItem().name()));
                         break;
                     case STATE_TWICE:
-                        V.add(L("@x1 for @x2 going TWICE!", CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid()), AD.getAuctionedItem().name()));
+                        V.add(L("@x1 for @x2 going TWICE!", CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid()), AD.getAuctionedItem().name()));
                         break;
                     case STATE_THREE:
-                        V.add(L("@x1 going for @x2! Last chance!", AD.getAuctionedItem().name(), CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
+                        V.add(L("@x1 going for @x2! Last chance!", AD.getAuctionedItem().name(), CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
                         break;
                     case STATE_CLOSED: {
                         if ((winnerM != null) && (winnerM != AD.getAuctioningMob())) {
                             V.add(L("@x1 SOLD to @x2 for @x3.", AD.getAuctionedItem().name(), winnerM.name(),
-                                CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
+                                CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
                             auctioneerM.doCommand(V, MUDCmdProcessor.METAFLAG_FORCED);
                             if (AD.getAuctionedItem() != null) {
                                 AD.getAuctionedItem().unWear();
@@ -133,16 +133,16 @@ public class Auction extends Channel implements Tickable {
                                 winnerM.location().moveItemTo(AD.getAuctionedItem(), ItemPossessor.Expire.Player_Drop);
                                 final double houseCut = Math.floor(AD.getBid() * aRates.liveFinalCutPct());
                                 final double finalAmount = AD.getBid() - houseCut;
-                                CMLib.coffeeShops().returnMoney(winnerM, AD.getCurrency(), AD.getHighBid() - AD.getBid());
-                                CMLib.coffeeShops().returnMoney(auctioneerM, AD.getCurrency(), finalAmount);
+                                CMLib.aetherShops().returnMoney(winnerM, AD.getCurrency(), AD.getHighBid() - AD.getBid());
+                                CMLib.aetherShops().returnMoney(auctioneerM, AD.getCurrency(), finalAmount);
                                 auctioneerM.tell(L("@x1 has been transferred to you as payment from @x2, after the house took a cut of @x3.  The goods have also been transferred in exchange.",
-                                    CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), finalAmount),
+                                    CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), finalAmount),
                                     winnerM.name(auctioneerM),
-                                    CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), houseCut)));
+                                    CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), houseCut)));
                                 if (CMLib.commands().postGet(winnerM, null, AD.getAuctionedItem(), false)
                                     || (winnerM.isMine(AD.getAuctionedItem()))) {
                                     winnerM.tell(L("@x1 has been transferred to @x2.  You should have received the auctioned goods.  This auction is complete.",
-                                        CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid()),
+                                        CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid()),
                                         auctioneerM.name(winnerM)));
                                     if (AD.getAuctionedItem() instanceof LandTitle) {
                                         final CMMsg msg = CMClass.getMsg(auctioneerM, winnerM, AD.getAuctionedItem(), CMMsg.MASK_ALWAYS | CMMsg.TYP_GIVE, null);
@@ -152,10 +152,10 @@ public class Auction extends Channel implements Tickable {
                                     auctioneerM.moveItemTo(AD.getAuctionedItem());
                                     auctioneerM.tell(L("Your transaction could not be completed because @x1 was unable to collect the item.  Please contact @x2 about receipt of @x3 for @x4.",
                                         winnerM.name(auctioneerM), winnerM.name(auctioneerM), AD.getAuctionedItem().name(winnerM),
-                                        CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
+                                        CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
                                     winnerM.tell(L("Your transaction could not be completed because you were unable to collect the item.  Please contact @x1 about receipt of @x2 for @x3.",
                                         auctioneerM.name(winnerM), AD.getAuctionedItem().name(winnerM),
-                                        CMLib.beanCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
+                                        CMLib.moneyCounter().nameCurrencyShort(AD.getCurrency(), AD.getBid())));
                                 }
                             }
                         } else {
@@ -195,7 +195,7 @@ public class Auction extends Channel implements Tickable {
             final String sb = CMParms.combine(commands, 0);
             getLiveData().setCurrency(CMLib.english().numPossibleGoldCurrency(mob, sb));
             if (getLiveData().getCurrency().length() == 0)
-                getLiveData().setCurrency(CMLib.beanCounter().getCurrency(mob));
+                getLiveData().setCurrency(CMLib.moneyCounter().getCurrency(mob));
             final double denomination = CMLib.english().numPossibleGoldDenomination(null, getLiveData().getCurrency(), sb);
             final long num = CMLib.english().numPossibleGold(null, sb);
             getLiveData().setBid(CMath.mul(denomination, num));
@@ -204,7 +204,7 @@ public class Auction extends Channel implements Tickable {
             getLiveData().setStartTime(System.currentTimeMillis());
             setLiveAuctionState(STATE_START);
             CMLib.threads().startTickDown(this, Tickable.TICKID_LIVEAUCTION, 1);
-            final String bidWords = CMLib.beanCounter().nameCurrencyShort(getLiveData().getCurrency(), getLiveData().getBid());
+            final String bidWords = CMLib.moneyCounter().nameCurrencyShort(getLiveData().getCurrency(), getLiveData().getBid());
             if (target instanceof Item)
                 mob.delItem((Item) target);
             V.add(L("New live auction: @x1.  The opening bid is @x2.", getLiveData().getAuctionedItem().name(), bidWords));
@@ -220,7 +220,7 @@ public class Auction extends Channel implements Tickable {
             final Triad<String, Double, Long> bidObjs = CMLib.english().parseMoneyStringSDL(mob, sb, getLiveData().getCurrency());
             final String currency = bidObjs.first;
             final double amt = CMath.mul(bidObjs.second.doubleValue(), bidObjs.third.doubleValue());
-            final String[] resp = CMLib.coffeeShops().bid(mob, amt, currency, getLiveData(), getLiveData().getAuctionedItem(), V);
+            final String[] resp = CMLib.aetherShops().bid(mob, amt, currency, getLiveData(), getLiveData().getAuctionedItem(), V);
             if (resp != null) {
                 if (resp[0] != null)
                     mob.tell(resp[0]);
@@ -310,7 +310,7 @@ public class Auction extends Channel implements Tickable {
             }
             final AuctionPolicy aRates = (AuctionPolicy) CMClass.getCommon("DefaultAuctionPolicy");
             final double deposit = aRates.liveListingPrice();
-            final String depositAmt = CMLib.beanCounter().nameCurrencyLong(mob, deposit);
+            final String depositAmt = CMLib.moneyCounter().nameCurrencyLong(mob, deposit);
 
             if (deposit > 0.0) {
                 if ((mob.isMonster())
@@ -319,11 +319,11 @@ public class Auction extends Channel implements Tickable {
             } else if ((mob.isMonster())
                 || (!mob.session().confirm(L("Auction @x1 live, with a starting bid of @x2 (Y/n)?", E.name(), (V.get(0))), "Y")))
                 return false;
-            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, CMLib.beanCounter().getCurrency(mob)) < deposit) {
-                mob.tell(L("You don't have enough @x1 to cover the listing fee!", CMLib.beanCounter().getDenominationName(CMLib.beanCounter().getCurrency(mob))));
+            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, CMLib.moneyCounter().getCurrency(mob)) < deposit) {
+                mob.tell(L("You don't have enough @x1 to cover the listing fee!", CMLib.moneyCounter().getDenominationName(CMLib.moneyCounter().getCurrency(mob))));
                 return false;
             }
-            CMLib.beanCounter().subtractMoney(mob, CMLib.beanCounter().getCurrency(mob), deposit);
+            CMLib.moneyCounter().subtractMoney(mob, CMLib.moneyCounter().getCurrency(mob), deposit);
             doLiveAuction(mob, V, E);
             if (getLiveData().getAuctionedItem() != null)
                 getLiveData().setAuctioningMob(mob);
@@ -357,7 +357,7 @@ public class Auction extends Channel implements Tickable {
             CMLib.threads().deleteTick(this, Tickable.TICKID_LIVEAUCTION);
             getLiveData().getAuctioningMob().moveItemTo(getLiveData().getAuctionedItem());
             if ((getLiveData().getHighBid() > 0.0) && (getLiveData().getHighBidderMob() != null))
-                CMLib.coffeeShops().returnMoney(getLiveData().getHighBidderMob(), getLiveData().getCurrency(), getLiveData().getHighBid());
+                CMLib.aetherShops().returnMoney(getLiveData().getHighBidderMob(), getLiveData().getCurrency(), getLiveData().getHighBid());
             getLiveData().setAuctioningMob(null);
             getLiveData().setAuctionedItem(null);
             super.execute(mob, V, metaFlags);
@@ -372,7 +372,7 @@ public class Auction extends Channel implements Tickable {
             E = getLiveData().getAuctionedItem();
             mob.tell(L("Item: @x1", E.name()));
             CMLib.commands().handleBeingLookedAt(CMClass.getMsg(mob, CMMsg.MASK_ALWAYS | CMMsg.MSG_EXAMINE, null));
-            mob.tell(CMLib.coffeeShops().getViewDescription(mob, E));
+            mob.tell(CMLib.aetherShops().getViewDescription(mob, E));
             return true;
         } else if (cmd.equals("CHANNEL")) {
             commands.remove(0);
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Bid.java b/src/main/java/com/syncleus/aethermud/game/Commands/Bid.java
index ded7af2891..88b815bed6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Bid.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Bid.java
@@ -51,7 +51,7 @@ public class Bid extends StdCommand {
             CMLib.commands().doCommandFail(mob, origCmds, L("Bid how much on what?"));
             return false;
         }
-        if (!(CMLib.coffeeShops().getShopKeeper(shopkeeper) instanceof Auctioneer)) {
+        if (!(CMLib.aetherShops().getShopKeeper(shopkeeper) instanceof Auctioneer)) {
             CMLib.commands().doCommandFail(mob, origCmds, L("@x1 is not an auctioneer!", shopkeeper.name()));
             return false;
         }
@@ -62,7 +62,7 @@ public class Bid extends StdCommand {
             return false;
         }
         final Triad<String, Double, Long> bidThang = CMLib.english().parseMoneyStringSDL(mob, bidStr, null);
-        bidStr = CMLib.beanCounter().nameCurrencyShort(bidThang.first, CMath.mul(bidThang.second.doubleValue(), bidThang.third.longValue()));
+        bidStr = CMLib.moneyCounter().nameCurrencyShort(bidThang.first, CMath.mul(bidThang.second.doubleValue(), bidThang.third.longValue()));
         commands.remove(0);
 
         int maxToDo = Integer.MAX_VALUE;
@@ -87,13 +87,13 @@ public class Bid extends StdCommand {
         boolean doBugFix = true;
         while (doBugFix || ((allFlag) && (addendum <= maxToDo))) {
             doBugFix = false;
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(shopkeeper);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(shopkeeper);
             final Environmental itemToDo = SK.getShop().getStock(whatName, mob);
             if (itemToDo == null)
                 break;
             if (CMLib.flags().canBeSeenBy(itemToDo, mob))
                 V.add(itemToDo);
-            if (addendum >= CMLib.coffeeShops().getShopKeeper(shopkeeper).getShop().numberInStock(itemToDo))
+            if (addendum >= CMLib.aetherShops().getShopKeeper(shopkeeper).getShop().numberInStock(itemToDo))
                 break;
             ++addendum;
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Borrow.java b/src/main/java/com/syncleus/aethermud/game/Commands/Borrow.java
index 2be2636378..8baddde8e2 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Borrow.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Borrow.java
@@ -50,7 +50,7 @@ public class Borrow extends StdCommand {
         final Environmental shopkeeper = CMLib.english().parseShopkeeper(mob, commands, "Borrow how much from whom?");
         if (shopkeeper == null)
             return false;
-        final ShopKeeper SHOP = CMLib.coffeeShops().getShopKeeper(shopkeeper);
+        final ShopKeeper SHOP = CMLib.aetherShops().getShopKeeper(shopkeeper);
         if (!(SHOP instanceof Banker)) {
             CMLib.commands().doCommandFail(mob, origCmds, L("You can not borrow from @x1.", shopkeeper.name()));
             return false;
@@ -70,7 +70,7 @@ public class Borrow extends StdCommand {
             CMLib.commands().doCommandFail(mob, origCmds, L("Borrow how much?"));
             return false;
         }
-        thisThang = CMLib.beanCounter().makeCurrency(currency, denomination, numCoins);
+        thisThang = CMLib.moneyCounter().makeCurrency(currency, denomination, numCoins);
 
         if ((thisThang == null) || (!CMLib.flags().canBeSeenBy(thisThang, mob))) {
             CMLib.commands().doCommandFail(mob, origCmds, L("That doesn't appear to be available.  Try LIST."));
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Buy.java b/src/main/java/com/syncleus/aethermud/game/Commands/Buy.java
index 25d2aaada3..d592e02ac3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Buy.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Buy.java
@@ -62,7 +62,7 @@ public class Buy extends StdCommand {
             CMLib.commands().doCommandFail(mob, origCmds, L("Buy what?"));
             return false;
         }
-        if (CMLib.coffeeShops().getShopKeeper(shopkeeper) == null) {
+        if (CMLib.aetherShops().getShopKeeper(shopkeeper) == null) {
             mob.tell(L("@x1 is not a shopkeeper!", shopkeeper.name()));
             return false;
         }
@@ -89,13 +89,13 @@ public class Buy extends StdCommand {
         boolean doBugFix = true;
         while (doBugFix || ((allFlag) && (addendum <= maxToDo))) {
             doBugFix = false;
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(shopkeeper);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(shopkeeper);
             final Environmental itemToDo = SK.getShop().getStock(whatName, mob);
             if (itemToDo == null)
                 break;
             if (CMLib.flags().canBeSeenBy(itemToDo, mob))
                 V.add(itemToDo);
-            if (addendum >= CMLib.coffeeShops().getShopKeeper(shopkeeper).getShop().numberInStock(itemToDo))
+            if (addendum >= CMLib.aetherShops().getShopKeeper(shopkeeper).getShop().numberInStock(itemToDo))
                 break;
             ++addendum;
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Catalog.java b/src/main/java/com/syncleus/aethermud/game/Commands/Catalog.java
index 1e2a141035..b8ac1c3776 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Catalog.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Catalog.java
@@ -267,7 +267,7 @@ public class Catalog extends StdCommand {
                     String roomID = null;
                     for (; rooms.hasMoreElements(); ) {
                         roomID = rooms.nextElement();
-                        R = CMLib.coffeeMaker().makeNewRoomContent(CMLib.map().getRoom(roomID), false);
+                        R = CMLib.aetherMaker().makeNewRoomContent(CMLib.map().getRoom(roomID), false);
                         final List<CatalogLibrary.RoomContent> contents = CMLib.catalog().roomContent(R);
                         boolean dirty = false;
                         for (final CatalogLibrary.RoomContent content : contents) {
@@ -536,7 +536,7 @@ public class Catalog extends StdCommand {
                         roomID = rooms.nextElement();
                         R = CMLib.map().getRoom(roomID);
                         if (db)
-                            R = CMLib.coffeeMaker().makeNewRoomContent(R, false);
+                            R = CMLib.aetherMaker().makeNewRoomContent(R, false);
                         final List<CatalogLibrary.RoomContent> contents = CMLib.catalog().roomContent(R);
                         for (final CatalogLibrary.RoomContent content : contents) {
                             P = content.P();
@@ -583,7 +583,7 @@ public class Catalog extends StdCommand {
                         if (R == null)
                             continue;
                         if (db)
-                            R = CMLib.coffeeMaker().makeNewRoomContent(R, false);
+                            R = CMLib.aetherMaker().makeNewRoomContent(R, false);
                         final List<CatalogLibrary.RoomContent> contents = CMLib.catalog().roomContent(R);
                         for (final CatalogLibrary.RoomContent content : contents) {
                             E = content.P();
@@ -627,7 +627,7 @@ public class Catalog extends StdCommand {
                         String roomID = null;
                         for (; rooms.hasMoreElements(); ) {
                             roomID = rooms.nextElement();
-                            R = CMLib.coffeeMaker().makeNewRoomContent(CMLib.map().getRoom(roomID), false);
+                            R = CMLib.aetherMaker().makeNewRoomContent(CMLib.map().getRoom(roomID), false);
                             final List<CatalogLibrary.RoomContent> contents = CMLib.catalog().roomContent(R);
                             boolean dirty = false;
                             for (final CatalogLibrary.RoomContent content : contents) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/ClanCreate.java b/src/main/java/com/syncleus/aethermud/game/Commands/ClanCreate.java
index ba9e180e43..5de92e7d60 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/ClanCreate.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/ClanCreate.java
@@ -70,8 +70,8 @@ public class ClanCreate extends StdCommand {
         if (session != null) {
             final int cost = CMProps.getIntVar(CMProps.Int.CLANCOST);
             if (cost > 0) {
-                if (CMLib.beanCounter().getTotalAbsoluteNativeValue(mob) < (cost)) {
-                    mob.tell(L("It costs @x1 to create a clan.  You don't have it.", CMLib.beanCounter().nameCurrencyShort(mob, cost)));
+                if (CMLib.moneyCounter().getTotalAbsoluteNativeValue(mob) < (cost)) {
+                    mob.tell(L("It costs @x1 to create a clan.  You don't have it.", CMLib.moneyCounter().nameCurrencyShort(mob, cost)));
                     return false;
                 }
             }
@@ -197,7 +197,7 @@ public class ClanCreate extends StdCommand {
                                                     return;
                                                 }
                                                 if (cost > 0) {
-                                                    CMLib.beanCounter().subtractMoney(mob, cost);
+                                                    CMLib.moneyCounter().subtractMoney(mob, cost);
                                                 }
 
                                                 newClan.setStatus(Clan.CLANSTATUS_PENDING);
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Compare.java b/src/main/java/com/syncleus/aethermud/game/Commands/Compare.java
index e61caa6b31..61b734c3c6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Compare.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Compare.java
@@ -52,11 +52,11 @@ public class Compare extends StdCommand {
         commands.remove(0);
         Item compareThis = mob.findItem(null, commands.get(0));
         if ((compareThis == null) || (!CMLib.flags().canBeSeenBy(compareThis, mob))) {
-            final List<Environmental> V = CMLib.coffeeShops().getAllShopkeepers(mob.location(), mob);
+            final List<Environmental> V = CMLib.aetherShops().getAllShopkeepers(mob.location(), mob);
             if (V.size() > 0) {
                 for (int i = 0; i < V.size(); i++) {
                     final Environmental shopkeeper = V.get(i);
-                    final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(shopkeeper);
+                    final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(shopkeeper);
                     final Environmental itemToDo = SK.getShop().getStock(commands.get(0), mob);
                     if ((itemToDo == null) || (!(itemToDo instanceof Item))) {
                         continue; // next shopkeeper
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Create.java b/src/main/java/com/syncleus/aethermud/game/Commands/Create.java
index acb41b493e..7a952992d8 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Create.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Create.java
@@ -207,7 +207,7 @@ public class Create extends StdCommand {
             final String currency = CMLib.english().numPossibleGoldCurrency(mob, itemID);
             final double denom = CMLib.english().numPossibleGoldDenomination(mob, currency, itemID);
             if ((numCoins > 0) && (denom > 0.0))
-                newItem = CMLib.beanCounter().makeCurrency(currency, denom, numCoins);
+                newItem = CMLib.moneyCounter().makeCurrency(currency, denom, numCoins);
         }
 
         boolean doGenerica = true;
@@ -643,7 +643,7 @@ public class Create extends StdCommand {
         mob.location().showHappens(CMMsg.MSG_OK_ACTION, L("The size of the world just increased!"));
         mob.tell(L("You are now at @x1.", R.roomID()));
         R.bringMobHere(mob, true);
-        CMLib.coffeeMaker().addAutoPropsToAreaIfNecessary(A);
+        CMLib.aetherMaker().addAutoPropsToAreaIfNecessary(A);
     }
 
     public void components(MOB mob, List<String> commands)
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Deposit.java b/src/main/java/com/syncleus/aethermud/game/Commands/Deposit.java
index d72a3b2645..db8b7d4838 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Deposit.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Deposit.java
@@ -51,7 +51,7 @@ public class Deposit extends StdCommand {
         throws java.io.IOException {
         Vector<String> origCmds = new XVector<String>(commands);
         final Environmental shopkeeper = CMLib.english().parseShopkeeper(mob, commands, "Deposit how much with whom?");
-        final ShopKeeper SHOP = CMLib.coffeeShops().getShopKeeper(shopkeeper);
+        final ShopKeeper SHOP = CMLib.aetherShops().getShopKeeper(shopkeeper);
         if (shopkeeper == null)
             return false;
         if ((!(SHOP instanceof Banker)) && (!(SHOP instanceof PostOffice))) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Deviations.java b/src/main/java/com/syncleus/aethermud/game/Commands/Deviations.java
index ac1c0610a5..54bff8f78b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Deviations.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Deviations.java
@@ -132,7 +132,7 @@ public class Deviations extends StdCommand {
                             && (!alreadyDone(I, check)))
                             check.add(I);
                     }
-                    final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                    final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                     if (SK != null) {
                         for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                             final Environmental E2 = i.next();
@@ -277,7 +277,7 @@ public class Deviations extends StdCommand {
                 mobResults.append(CMStrings.padRight("" + ((M.phyStats().rejuv() == PhyStats.NO_REJUV) ? " MAX" : "" + M.phyStats().rejuv()), 5) + " ");
                 if (useFaction != null)
                     mobResults.append(CMStrings.padRight("" + (M.fetchFaction(useFaction.factionID()) == Integer.MAX_VALUE ? "N/A" : "" + M.fetchFaction(useFaction.factionID())), 7) + " ");
-                double value = CMLib.beanCounter().getTotalAbsoluteNativeValue(M);
+                double value = CMLib.moneyCounter().getTotalAbsoluteNativeValue(M);
                 double[] range = CMLib.leveler().getLevelMoneyRange(M);
                 if (value < range[0])
                     mobResults.append(CMStrings.padRight("" + getDeviation(value, range[0]), 5) + " ");
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Export.java b/src/main/java/com/syncleus/aethermud/game/Commands/Export.java
index fd0acd80ee..2b96a8d529 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Export.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Export.java
@@ -346,7 +346,7 @@ public class Export extends StdCommand {
                     final MOB M = CMLib.players().getLoadPlayer(name);
                     if (M != null) {
                         x.append("\r\n<PLAYER>");
-                        x.append(CMLib.coffeeMaker().getPlayerXML(M, custom, files));
+                        x.append(CMLib.aetherMaker().getPlayerXML(M, custom, files));
                         x.append("</PLAYER>");
                     }
                 }
@@ -363,7 +363,7 @@ public class Export extends StdCommand {
                     final PlayerAccount A = a.nextElement();
                     //if(S!=null) S.rawPrint(".");
                     x.append("\r\n<ACCOUNT>");
-                    x.append(CMLib.coffeeMaker().getAccountXML(A, custom, files));
+                    x.append(CMLib.aetherMaker().getAccountXML(A, custom, files));
                     x.append("</ACCOUNT>");
                 }
                 if (fileNameCode == 2)
@@ -377,13 +377,13 @@ public class Export extends StdCommand {
                     S.rawPrint(L("Reading catalog items and mobs..."));
                 x.append("\r\n<MOBS>");
                 Map<String, List<MOB>> foundMobs = new TreeMap<String, List<MOB>>();
-                x.append(CMLib.coffeeMaker().getMobsXML(Arrays.asList(CMLib.catalog().getCatalogMobs()), custom, files, foundMobs));
+                x.append(CMLib.aetherMaker().getMobsXML(Arrays.asList(CMLib.catalog().getCatalogMobs()), custom, files, foundMobs));
                 x.append("\r\n</MOBS>\r\n");
                 x.append("\r\n").append(getCatalogData(foundMobs));
                 foundMobs.clear();
                 x.append("\r\n<ITEMS>");
                 Map<String, List<Item>> foundItems = new TreeMap<String, List<Item>>();
-                x.append(CMLib.coffeeMaker().getItemsXML(Arrays.asList(CMLib.catalog().getCatalogItems()), foundItems, files, null));
+                x.append(CMLib.aetherMaker().getItemsXML(Arrays.asList(CMLib.catalog().getCatalogItems()), foundItems, files, null));
                 x.append("\r\n</ITEMS>\r\n");
                 x.append("\r\n").append(getCatalogData(foundItems));
                 foundItems.clear();
@@ -393,13 +393,13 @@ public class Export extends StdCommand {
                     S.rawPrintln("!");
                 xml = x.toString() + "</CATALOG>";
             } else if (commandType.equalsIgnoreCase("ROOM")) {
-                xml = CMLib.coffeeMaker().getRoomXML(room, custom, files, true).toString();
+                xml = CMLib.aetherMaker().getRoomXML(room, custom, files, true).toString();
                 if (fileNameCode == 2)
                     fileName = fileName + "/room";
             } else if (commandType.equalsIgnoreCase("AREA")) {
                 if (S != null)
                     S.rawPrint(L("Reading area '@x1'...", area.Name()));
-                xml = CMLib.coffeeMaker().getAreaXML(area, S, custom, files, true).toString();
+                xml = CMLib.aetherMaker().getAreaXML(area, S, custom, files, true).toString();
                 if (fileNameCode == 2) {
                     if (area.getArchivePath().length() > 0)
                         fileName = fileName + "/" + area.getArchivePath();
@@ -422,7 +422,7 @@ public class Export extends StdCommand {
                     if (A != null) {
                         if (S != null)
                             S.rawPrint(L("Reading area '@x1'...", A.name()));
-                        buf.append(CMLib.coffeeMaker().getAreaXML(A, S, custom, files, true).toString());
+                        buf.append(CMLib.aetherMaker().getAreaXML(A, S, custom, files, true).toString());
                         if (S != null)
                             S.rawPrintln("!");
                         if (fileNameCode == 2) {
@@ -444,7 +444,7 @@ public class Export extends StdCommand {
             final MOB M = CMLib.players().getLoadPlayer(subType);
             if (M != null) {
                 x.append("\r\n<PLAYER>");
-                x.append(CMLib.coffeeMaker().getPlayerXML(M, custom, files));
+                x.append(CMLib.aetherMaker().getPlayerXML(M, custom, files));
                 x.append("</PLAYER>");
             }
             if (fileNameCode == 2)
@@ -455,7 +455,7 @@ public class Export extends StdCommand {
             final PlayerAccount A = CMLib.players().getLoadAccount(subType);
             if (A != null) {
                 x.append("\r\n<ACCOUNT>");
-                x.append(CMLib.coffeeMaker().getAccountXML(A, custom, files));
+                x.append(CMLib.aetherMaker().getAccountXML(A, custom, files));
                 x.append("</ACCOUNT>");
             }
             if (fileNameCode == 2)
@@ -476,14 +476,14 @@ public class Export extends StdCommand {
             if ((((type == null) || (type == CMObjectType.ITEM))) && (!subType.equalsIgnoreCase("ITEMS"))) {
                 x.append("\r\n<MOBS>");
                 final Map<String, List<MOB>> found = new TreeMap<String, List<MOB>>();
-                x.append(CMLib.coffeeMaker().getMobsXML(Arrays.asList(CMLib.catalog().getCatalogMobs()), custom, files, found));
+                x.append(CMLib.aetherMaker().getMobsXML(Arrays.asList(CMLib.catalog().getCatalogMobs()), custom, files, found));
                 x.append("\r\n</MOBS>\r\n");
                 x.append("\r\n").append(getCatalogData(found));
             }
             if (!subType.equalsIgnoreCase("MOBS")) {
                 Map<String, List<Item>> found = new TreeMap<String, List<Item>>();
                 x.append("\r\n<ITEMS>");
-                x.append(CMLib.coffeeMaker().getItemsXML(Arrays.asList(CMLib.catalog().getCatalogItems()), found, files, type));
+                x.append(CMLib.aetherMaker().getItemsXML(Arrays.asList(CMLib.catalog().getCatalogItems()), found, files, type));
                 x.append("\r\n</ITEMS>\r\n");
                 x.append("\r\n").append(getCatalogData(found));
             }
@@ -497,7 +497,7 @@ public class Export extends StdCommand {
                 fileName = fileName + "/mobs";
             final Hashtable<String, List<MOB>> found = new Hashtable<String, List<MOB>>();
             if (commandType.equalsIgnoreCase("ROOM"))
-                xml = "<MOBS>" + CMLib.coffeeMaker().getRoomMobs(room, custom, files, found).toString() + "</MOBS>";
+                xml = "<MOBS>" + CMLib.aetherMaker().getRoomMobs(room, custom, files, found).toString() + "</MOBS>";
             else if (commandType.equalsIgnoreCase("AREA")) {
                 if (S != null)
                     S.rawPrint(L("Reading area mobs '@x1'...", area.Name()));
@@ -505,7 +505,7 @@ public class Export extends StdCommand {
                 for (final Enumeration<Room> r = area.getCompleteMap(); r.hasMoreElements(); ) {
                     final Room R = r.nextElement();
                     //if(S!=null) S.rawPrint(".");
-                    buf.append(CMLib.coffeeMaker().getRoomMobs(R, custom, files, found).toString());
+                    buf.append(CMLib.aetherMaker().getRoomMobs(R, custom, files, found).toString());
                 }
                 xml = buf.toString() + "</MOBS>";
                 if (S != null)
@@ -518,7 +518,7 @@ public class Export extends StdCommand {
                     for (final Enumeration<Room> r = CMLib.map().rooms(); r.hasMoreElements(); ) {
                         final Room R = r.nextElement();
                         //if(S!=null) S.rawPrint(".");
-                        buf.append(CMLib.coffeeMaker().getRoomMobs(R, custom, files, found).toString());
+                        buf.append(CMLib.aetherMaker().getRoomMobs(R, custom, files, found).toString());
                     }
                 } catch (final NoSuchElementException e) {
                 }
@@ -536,7 +536,7 @@ public class Export extends StdCommand {
 
             final Hashtable<String, List<Item>> found = new Hashtable<String, List<Item>>();
             if (commandType.equalsIgnoreCase("ROOM"))
-                xml = "<ITEMS>" + CMLib.coffeeMaker().getRoomItems(room, found, files, type).toString() + "</ITEMS>";
+                xml = "<ITEMS>" + CMLib.aetherMaker().getRoomItems(room, found, files, type).toString() + "</ITEMS>";
             else if (commandType.equalsIgnoreCase("AREA")) {
                 if (S != null)
                     S.rawPrint(L("Reading area @x1 '@x2'...", subType.toLowerCase(), area.Name()));
@@ -544,7 +544,7 @@ public class Export extends StdCommand {
                 for (final Enumeration<Room> r = area.getCompleteMap(); r.hasMoreElements(); ) {
                     final Room R = r.nextElement();
                     //if(S!=null) S.rawPrint(".");
-                    buf.append(CMLib.coffeeMaker().getRoomItems(R, found, files, type).toString());
+                    buf.append(CMLib.aetherMaker().getRoomItems(R, found, files, type).toString());
                 }
                 xml = buf.toString() + "</ITEMS>";
                 if (S != null)
@@ -557,7 +557,7 @@ public class Export extends StdCommand {
                     for (final Enumeration<Room> r = CMLib.map().rooms(); r.hasMoreElements(); ) {
                         final Room R = r.nextElement();
                         //if(S!=null) S.rawPrint(".");
-                        buf.append(CMLib.coffeeMaker().getRoomItems(R, found, files, type).toString());
+                        buf.append(CMLib.aetherMaker().getRoomItems(R, found, files, type).toString());
                     }
                 } catch (final NoSuchElementException e) {
                 }
@@ -574,7 +574,7 @@ public class Export extends StdCommand {
                 else if (o instanceof CharClass)
                     str.append(((CharClass) o).classParms());
                 else if (o instanceof Ability)
-                    str.append(CMLib.coffeeMaker().getGenAbilityXML((Ability) o));
+                    str.append(CMLib.aetherMaker().getGenAbilityXML((Ability) o));
                 else if (o instanceof Manufacturer)
                     str.append("<MANUFACTURER>").append(((Manufacturer) o).getXml()).append("</MANUFACTURER>");
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/GModify.java b/src/main/java/com/syncleus/aethermud/game/Commands/GModify.java
index a09e14be94..36331c97a7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/GModify.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/GModify.java
@@ -20,7 +20,7 @@ import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
 import com.syncleus.aethermud.game.Areas.interfaces.Area;
 import com.syncleus.aethermud.game.Behaviors.interfaces.Behavior;
 import com.syncleus.aethermud.game.Common.interfaces.CharStats;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeShop;
+import com.syncleus.aethermud.game.Common.interfaces.AetherShop;
 import com.syncleus.aethermud.game.Common.interfaces.PhyStats;
 import com.syncleus.aethermud.game.Items.interfaces.Item;
 import com.syncleus.aethermud.game.Locales.interfaces.GridLocale;
@@ -635,7 +635,7 @@ public class GModify extends StdCommand {
                 final Area A = R.getArea();
                 final Area.State oldFlag = A.getAreaState();
                 if (changes.size() == 0) {
-                    R = CMLib.coffeeMaker().makeNewRoomContent(R, false);
+                    R = CMLib.aetherMaker().makeNewRoomContent(R, false);
                     if (R != null)
                         A.setAreaState(Area.State.FROZEN);
                 } else {
@@ -691,10 +691,10 @@ public class GModify extends StdCommand {
                                         M.addItem(newI);
                                 }
                             }
-                            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                             if (SK != null) {
-                                for (final Iterator<CoffeeShop.ShelfProduct> i = SK.getShop().getStoreShelves(); i.hasNext(); ) {
-                                    final CoffeeShop.ShelfProduct P = i.next();
+                                for (final Iterator<AetherShop.ShelfProduct> i = SK.getShop().getStoreShelves(); i.hasNext(); ) {
+                                    final AetherShop.ShelfProduct P = i.next();
                                     final Environmental E2 = P.product;
                                     if ((E2 instanceof Item) || (E2 instanceof MOB)) {
                                         final Environmental E3 = tryModfy(mob, R, E2, changes, onfields, noisy);
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/GTell.java b/src/main/java/com/syncleus/aethermud/game/Commands/GTell.java
index 8e23b6a52a..4cf5ea4503 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/GTell.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/GTell.java
@@ -108,7 +108,7 @@ public class GTell extends StdCommand {
                     final String tellStr = (target == mob) ? msg.sourceMessage() : (
                         (target == msg.target()) ? msg.targetMessage() : msg.othersMessage()
                     );
-                    target.playerStats().addGTellStack(CMLib.coffeeFilter().fullOutFilter(target.session(), target, mob, msg.target(), null, CMStrings.removeColors(tellStr), false));
+                    target.playerStats().addGTellStack(CMLib.aetherFilter().fullOutFilter(target.session(), target, mob, msg.target(), null, CMStrings.removeColors(tellStr), false));
                 }
                 target.executeMsg(target, msg);
                 if (msg.trailerMsgs() != null) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Import.java b/src/main/java/com/syncleus/aethermud/game/Commands/Import.java
index d762bbe24f..0ba6ece45a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Import.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Import.java
@@ -445,7 +445,7 @@ public class Import extends StdCommand {
                 if (areaName.indexOf(color[0]) >= 0)
                     areaName = CMStrings.replaceAll(areaName, color[0], color[1]);
         }
-        return CMStrings.removeColors(CMLib.coffeeFilter().safetyFilter(areaName));
+        return CMStrings.removeColors(CMLib.aetherFilter().safetyFilter(areaName));
     }
 
     protected static Room getRoom(java.util.Map<String, Room> hashedRoomSet, String areaName, String calledThis) {
@@ -1962,7 +1962,7 @@ public class Import extends StdCommand {
             }
             if (useThisOne != null) {
                 if (okString)
-                    useThisOne.add(CMLib.coffeeFilter().safetyFilter(buf.get(0)));
+                    useThisOne.add(CMLib.aetherFilter().safetyFilter(buf.get(0)));
                 buf.remove(0);
             } else {
                 Log.sysOut("Import", "Just eating: " + s);
@@ -2251,10 +2251,10 @@ public class Import extends StdCommand {
             if (!mobID.equals(OfThisID))
                 continue;
 
-            final String simpleName = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
-            String mobName = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
-            final String mobDisplay = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
-            final String mobDescription = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
+            final String simpleName = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
+            String mobName = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
+            final String mobDisplay = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
+            final String mobDescription = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
             Race R = null;
             boolean circleFormat = false;
             if (nextLine(objV).endsWith("~")) {
@@ -3213,12 +3213,12 @@ public class Import extends StdCommand {
             if (!objectID.equals(OfThisID))
                 continue;
 
-            final String simpleName = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
-            String objectName = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
-            final String objectDisplay = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
+            final String simpleName = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
+            String objectName = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
+            final String objectDisplay = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
             String objectDescription = "";
             if ((nextLine(objV).indexOf('~') >= 0) || ((nextLine(objV).length() > 0) && (!Character.isDigit(nextLine(objV).charAt(0)))))
-                objectDescription = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
+                objectDescription = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
 
             String codeStr1 = eatNextLine(objV);
             String codeStr2 = eatNextLine(objV);
@@ -3785,7 +3785,7 @@ public class Import extends StdCommand {
                     }
                     if (!squiggleFound)
                         objV.add("~");
-                    final String desc = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV));
+                    final String desc = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV));
                     I.setDescription(I.description() + desc);
                     if (I.ID().equals("GenReadable"))
                         I.setReadableText(fixReadableContent(I.description()));
@@ -3991,7 +3991,7 @@ public class Import extends StdCommand {
                 } else if (codeLine.equals("EXTRA")) {
                     eatNextLine(objV); // extra
                     eatLineSquiggle(objV); // key word
-                    final String desc = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(objV)); // description
+                    final String desc = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(objV)); // description
                     I.setDescription(I.description() + desc);
                     if (I.ID().equals("GenReadable"))
                         I.setReadableText(fixReadableContent(I.description()));
@@ -4612,7 +4612,7 @@ public class Import extends StdCommand {
                     final List<List<XMLLibrary.XMLTag>> areas = new Vector<List<XMLLibrary.XMLTag>>();
                     if (session != null)
                         session.rawPrint(L("Unpacking area(s) from file: '@x1'...", areaFileName));
-                    String error = CMLib.coffeeMaker().fillAreasVectorFromXML(buf.toString(), areas, custom, externalFiles);
+                    String error = CMLib.aetherMaker().fillAreasVectorFromXML(buf.toString(), areas, custom, externalFiles);
                     if (error.length() == 0)
                         importCustomObjects(mob, custom, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
@@ -4629,7 +4629,7 @@ public class Import extends StdCommand {
                         if (session != null)
                             session.rawPrint(L("Unpacking area #@x1/@x2...", "" + (a + 1), "" + num));
                         final List<XMLLibrary.XMLTag> area = areas.get(0);
-                        error = CMLib.coffeeMaker().unpackAreaFromXML(area, session, areaType, true);
+                        error = CMLib.aetherMaker().unpackAreaFromXML(area, session, areaType, true);
                         if (session != null)
                             session.rawPrintln("!");
                         if (error.startsWith("Area Exists: ")) {
@@ -4679,13 +4679,13 @@ public class Import extends StdCommand {
                     if (session != null)
                         session.rawPrint(L("Unpacking area from file: '@x1'...", areaFileName));
                     final Vector<XMLLibrary.XMLTag> areaD = new Vector<XMLLibrary.XMLTag>();
-                    String error = CMLib.coffeeMaker().fillAreaAndCustomVectorFromXML(buf.toString(), areaD, custom, externalFiles);
+                    String error = CMLib.aetherMaker().fillAreaAndCustomVectorFromXML(buf.toString(), areaD, custom, externalFiles);
                     if (error.length() == 0)
                         importCustomObjects(mob, custom, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
                         importCustomFiles(mob, externalFiles, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
-                        error = CMLib.coffeeMaker().unpackAreaFromXML(areaD, session, areaType, true);
+                        error = CMLib.aetherMaker().unpackAreaFromXML(areaD, session, areaType, true);
                     if (session != null)
                         session.rawPrintln("!");
                     if (error.startsWith("Area Exists: ")) {
@@ -4701,7 +4701,7 @@ public class Import extends StdCommand {
                             return false;
                         if (session != null)
                             session.rawPrint(L("Unpacking area from file: '@x1'...", areaFileName));
-                        error = CMLib.coffeeMaker().unpackAreaFromXML(areaD, session, areaType, true);
+                        error = CMLib.aetherMaker().unpackAreaFromXML(areaD, session, areaType, true);
                         if (session != null)
                             session.rawPrintln("!");
                     }
@@ -4722,13 +4722,13 @@ public class Import extends StdCommand {
                         buf = new StringBuffer("");
                     if (session != null)
                         session.println(L("Unpacking room from file: '@x1'...", areaFileName));
-                    String error = CMLib.coffeeMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
+                    String error = CMLib.aetherMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
                     if (error.length() == 0)
                         importCustomObjects(mob, custom, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
                         importCustomFiles(mob, externalFiles, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
-                        error = CMLib.coffeeMaker().unpackRoomFromXML(buf.toString(), true);
+                        error = CMLib.aetherMaker().unpackRoomFromXML(buf.toString(), true);
                     if (error.startsWith("Room Exists: ")) {
                         final Room R = CMLib.map().getRoom(error.substring(13).trim());
                         if (R != null) {
@@ -4750,7 +4750,7 @@ public class Import extends StdCommand {
                             }
                             CMLib.map().obliterateRoom(R);
                         }
-                        error = CMLib.coffeeMaker().unpackRoomFromXML(buf.toString(), true);
+                        error = CMLib.aetherMaker().unpackRoomFromXML(buf.toString(), true);
                     }
                     if (error.length() > 0)
                         return returnAnError(session, "An error occurred on import: " + error + "\n\rPlease correct the problem and try the import again.", compileErrors, commands);
@@ -4781,7 +4781,7 @@ public class Import extends StdCommand {
                     buf = new StringBuffer(xmlFirst.get(0).value());
                     xmlFirst.clear();
 
-                    String error = CMLib.coffeeMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
+                    String error = CMLib.aetherMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
                     if (error.length() == 0)
                         importCustomObjects(mob, custom, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
@@ -4789,16 +4789,16 @@ public class Import extends StdCommand {
                     final Vector<MOB> mobs = new Vector<MOB>();
                     final Vector<CataData> mobCatData = new Vector<CataData>();
                     if ((error.length() == 0) && (hasMobs)) {
-                        error = CMLib.coffeeMaker().addMOBsFromXML(buf.toString(), mobs, session);
+                        error = CMLib.aetherMaker().addMOBsFromXML(buf.toString(), mobs, session);
                         if (error.length() == 0)
-                            error = CMLib.coffeeMaker().addCataDataFromXML(buf.toString(), mobCatData, mobs, session);
+                            error = CMLib.aetherMaker().addCataDataFromXML(buf.toString(), mobCatData, mobs, session);
                     }
                     final Vector<Item> items = new Vector<Item>();
                     final Vector<CataData> itemCatData = new Vector<CataData>();
                     if ((error.length() == 0) && (hasItems)) {
-                        error = CMLib.coffeeMaker().addItemsFromXML(buf.toString(), items, session);
+                        error = CMLib.aetherMaker().addItemsFromXML(buf.toString(), items, session);
                         if (error.length() == 0)
-                            error = CMLib.coffeeMaker().addCataDataFromXML(buf.toString(), itemCatData, items, session);
+                            error = CMLib.aetherMaker().addCataDataFromXML(buf.toString(), itemCatData, items, session);
                     }
                     if (session != null)
                         session.rawPrintln("!");
@@ -4855,13 +4855,13 @@ public class Import extends StdCommand {
                     if (session != null)
                         session.rawPrint(L("Unpacking mobs from file: '@x1'...", areaFileName));
                     final Vector<MOB> mobs = new Vector<MOB>();
-                    String error = CMLib.coffeeMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
+                    String error = CMLib.aetherMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
                     if (error.length() == 0)
                         importCustomObjects(mob, custom, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
                         importCustomFiles(mob, externalFiles, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
-                        error = CMLib.coffeeMaker().addMOBsFromXML(buf.toString(), mobs, session);
+                        error = CMLib.aetherMaker().addMOBsFromXML(buf.toString(), mobs, session);
                     if (session != null)
                         session.rawPrintln("!");
                     if (error.length() > 0)
@@ -4892,13 +4892,13 @@ public class Import extends StdCommand {
                         session.rawPrint(L("Unpacking players from file: '@x1'...", areaFileName));
                     final List<MOB> mobs = new Vector<MOB>();
                     final List<PlayerAccount> accounts = new Vector<PlayerAccount>();
-                    String error = CMLib.coffeeMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
+                    String error = CMLib.aetherMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
                     if (error.length() == 0)
                         importCustomObjects(mob, custom, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
                         importCustomFiles(mob, externalFiles, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
-                        error = CMLib.coffeeMaker().addPlayersAndAccountsFromXML(buf.toString(), accounts, mobs, session);
+                        error = CMLib.aetherMaker().addPlayersAndAccountsFromXML(buf.toString(), accounts, mobs, session);
                     if (session != null)
                         session.rawPrintln("!");
                     if (error.length() > 0)
@@ -5006,13 +5006,13 @@ public class Import extends StdCommand {
                     if (session != null)
                         session.rawPrint(L("Unpacking items from file: '@x1'...", areaFileName));
                     final Vector<Item> items = new Vector<Item>();
-                    String error = CMLib.coffeeMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
+                    String error = CMLib.aetherMaker().fillCustomVectorFromXML(buf.toString(), custom, externalFiles);
                     if (error.length() == 0)
                         importCustomObjects(mob, custom, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
                         importCustomFiles(mob, externalFiles, customBotherChecker, !prompt, nodelete);
                     if (error.length() == 0)
-                        error = CMLib.coffeeMaker().addItemsFromXML(buf.toString(), items, session);
+                        error = CMLib.aetherMaker().addItemsFromXML(buf.toString(), items, session);
                     if (session != null)
                         session.rawPrintln("!");
                     if (error.length() > 0)
@@ -5304,8 +5304,8 @@ public class Import extends StdCommand {
                         R.setDisplayText(L("Emptiness..."));
                         R.setDescription("");
                     } else {
-                        R.setDisplayText(CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(roomV)));
-                        R.setDescription(CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(roomV)));
+                        R.setDisplayText(CMLib.aetherFilter().safetyFilter(eatLineSquiggle(roomV)));
+                        R.setDescription(CMLib.aetherFilter().safetyFilter(eatLineSquiggle(roomV)));
                     }
                     if (R.expirationDate() != 0)
                         R.setExpirationDate(R.expirationDate() + (360000));
@@ -5549,8 +5549,8 @@ public class Import extends StdCommand {
                         if (nextLine.toUpperCase().startsWith("S"))
                             continue;
                         else if (nextLine.toUpperCase().startsWith("E")) {
-                            final String nameString = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(roomV));
-                            final String descString = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(roomV));
+                            final String nameString = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(roomV));
+                            final String descString = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(roomV));
                             Item I = null;
                             if (hasReadableContent(nameString)) {
                                 I = CMClass.getBasicItem("GenWallpaper");
@@ -5564,8 +5564,8 @@ public class Import extends StdCommand {
                             R.addItem(I);
                         } else if (nextLine.toUpperCase().startsWith("D")) {
                             int dirCode = CMath.s_int(CMParms.getCleanBit(nextLine, 0).substring(1).trim());
-                            final String descStr = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(roomV));
-                            final String nameStr = CMLib.coffeeFilter().safetyFilter(eatLineSquiggle(roomV));
+                            final String descStr = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(roomV));
+                            final String nameStr = CMLib.aetherFilter().safetyFilter(eatLineSquiggle(roomV));
                             String codeStr = eatLine(roomV);
                             if (codeStr.equalsIgnoreCase("~"))
                                 codeStr = eatLine(roomV);
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Inventory.java b/src/main/java/com/syncleus/aethermud/game/Commands/Inventory.java
index 7a2c0b055d..e108a8b512 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Inventory.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Inventory.java
@@ -41,7 +41,7 @@ public class Inventory extends StdCommand {
         final InventoryList lst = new InventoryList();
         Vector<Coins> coinsV = null;
         int insertAt = -1;
-        CMLib.beanCounter().getTotalAbsoluteNativeValue(mob);
+        CMLib.moneyCounter().getTotalAbsoluteNativeValue(mob);
         for (final Enumeration<Item> i = mob.items(); i.hasMoreElements(); ) {
             final Item thisItem = i.nextElement();
             if (thisItem == null)
@@ -98,7 +98,7 @@ public class Inventory extends StdCommand {
                         msg.append(I.name());
                     }
                 }
-                msg.append(" ^N(" + CMLib.beanCounter().abbreviatedPrice(key, totalValue) + ")");
+                msg.append(" ^N(" + CMLib.moneyCounter().abbreviatedPrice(key, totalValue) + ")");
                 if (e.hasMoreElements())
                     msg.append("\n\r");
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/ListCmd.java b/src/main/java/com/syncleus/aethermud/game/Commands/ListCmd.java
index 19f2c50dd1..4db1ce9387 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/ListCmd.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/ListCmd.java
@@ -251,14 +251,14 @@ public class ListCmd extends StdCommand {
                 seller = CMClass.getFactoryMOB("the shop", 1, R);
                 destroySeller = true;
             }
-            ShopPrice p = CMLib.coffeeShops().sellingPrice(seller, buyer, E, SK, false);
+            ShopPrice p = CMLib.aetherShops().sellingPrice(seller, buyer, E, SK, false);
             if (p != null) {
                 if (p.experiencePrice > 0)
                     return p.experiencePrice + "xp";
                 else if (p.questPointPrice > 0)
                     return p.questPointPrice + "qp";
                 else if (p.absoluteGoldPrice > 0)
-                    return CMLib.beanCounter().abbreviatedPrice(seller, p.absoluteGoldPrice);
+                    return CMLib.moneyCounter().abbreviatedPrice(seller, p.absoluteGoldPrice);
             }
         } finally {
             if (destroySeller && (seller != null))
@@ -377,7 +377,7 @@ public class ListCmd extends StdCommand {
                         }
                     }
                     if (shopOnly) {
-                        final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(R);
+                        final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(R);
                         if (SK != null) {
                             for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                                 final Environmental E = i.next();
@@ -480,7 +480,7 @@ public class ListCmd extends StdCommand {
                                         }
                                     }
                                 }
-                                final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                                final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                                 if (SK != null) {
                                     for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                                         final Environmental E = i.next();
@@ -758,7 +758,7 @@ public class ListCmd extends StdCommand {
                     for (int f = 0; f < files.size(); f++)
                         DV.add(files.get(f), E, R, M, I, B);
                 }
-                final String nonFiles = ((ScriptingEngine) B).getVar("*", "COFFEEMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT");
+                final String nonFiles = ((ScriptingEngine) B).getVar("*", "AETHERMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT");
                 if (nonFiles.trim().length() > 0)
                     DV.add("*Custom*" + nonFiles.trim(), E, R, M, I, B);
             }
@@ -770,7 +770,7 @@ public class ListCmd extends StdCommand {
                 for (int f = 0; f < files.size(); f++)
                     DV.add(files.get(f), E, R, M, I, SE);
             }
-            final String nonFiles = SE.getVar("*", "COFFEEMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT");
+            final String nonFiles = SE.getVar("*", "AETHERMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT");
             if (nonFiles.trim().length() > 0)
                 DV.add("*Custom*" + nonFiles.trim(), E, R, M, I, SE);
         }
@@ -779,7 +779,7 @@ public class ListCmd extends StdCommand {
     public void addShopScripts(DVector DV, Room R, MOB M, Item I, Environmental E) {
         if (E == null)
             return;
-        final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(E);
+        final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(E);
         if (SK != null) {
             for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                 final Environmental E2 = i.next();
@@ -2934,7 +2934,7 @@ public class ListCmd extends StdCommand {
         for (Enumeration<Room> a = CMLib.map().rooms(); a.hasMoreElements(); ) {
             final Room R = a.nextElement();
             if (R != null) {
-                CMLib.coffeeMaker().fillFileMap(R, found);
+                CMLib.aetherMaker().fillFileMap(R, found);
                 for (String foundPath : found.keySet()) {
                     final String lfoundPath = foundPath.toLowerCase();
                     if (lfoundPath.endsWith(fileName) || fileName.endsWith(lfoundPath)) {
@@ -3688,7 +3688,7 @@ public class ListCmd extends StdCommand {
             if (wiki == WikiFlag.WIKILIST) {
                 str.append("*[[" + A.name() + "|" + A.name() + "]]");
             } else if (wiki == WikiFlag.WIKIHELP) {
-                String currency = CMLib.beanCounter().getCurrency(A);
+                String currency = CMLib.moneyCounter().getCurrency(A);
                 if ((currency == null) || (currency.trim().length() == 0))
                     currency = "Gold coins (default)";
                 else
@@ -4174,7 +4174,7 @@ public class ListCmd extends StdCommand {
                 archonlist(mob, commands);
                 return false;
             }
-            V = CMLib.coffeeShops().getAllShopkeepers(mob.location(), mob);
+            V = CMLib.aetherShops().getAllShopkeepers(mob.location(), mob);
         } else {
             final Vector<String> origCommands = new XVector<String>(commands);
             for (int c = commands.size() - 2; c >= 0; c--) {
@@ -4186,7 +4186,7 @@ public class ListCmd extends StdCommand {
                 }
             }
             final String what = CMParms.combine(commands, 0);
-            final List<Environmental> V2 = CMLib.coffeeShops().getAllShopkeepers(mob.location(), mob);
+            final List<Environmental> V2 = CMLib.aetherShops().getAllShopkeepers(mob.location(), mob);
             Environmental shopkeeper = CMLib.english().fetchEnvironmental(V2, what, false);
             if ((shopkeeper == null) && (what.equals("shop") || what.equals("the shop"))) {
                 for (int v = 0; v < V2.size(); v++) {
@@ -4197,7 +4197,7 @@ public class ListCmd extends StdCommand {
                 }
             }
             if ((shopkeeper != null)
-                && (CMLib.coffeeShops().getShopKeeper(shopkeeper) != null)
+                && (CMLib.aetherShops().getShopKeeper(shopkeeper) != null)
                 && (CMLib.flags().canBeSeenBy(shopkeeper, mob)))
                 V.add(shopkeeper);
             else if (getAnyCmd(mob) != null) {
@@ -4211,7 +4211,7 @@ public class ListCmd extends StdCommand {
         }
         for (int i = 0; i < V.size(); i++) {
             final Environmental shopkeeper = V.get(i);
-            final ShopKeeper SHOP = CMLib.coffeeShops().getShopKeeper(shopkeeper);
+            final ShopKeeper SHOP = CMLib.aetherShops().getShopKeeper(shopkeeper);
             String str = L("<S-NAME> review(s) <T-YOUPOSS> inventory");
             if (SHOP instanceof Banker)
                 str = L("<S-NAME> review(s) <S-HIS-HER> account with <T-NAMESELF>");
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Merge.java b/src/main/java/com/syncleus/aethermud/game/Commands/Merge.java
index 3d5cca049f..7f80e80be5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Merge.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Merge.java
@@ -291,7 +291,7 @@ public class Merge extends StdCommand {
             if (mob.session() != null)
                 mob.session().rawPrint(L("Unpacking mobs from file: '@x1'...", filename));
             List<MOB> mobs = new Vector<MOB>();
-            final String error = CMLib.coffeeMaker().addMOBsFromXML(buf.toString(), mobs, mob.session());
+            final String error = CMLib.aetherMaker().addMOBsFromXML(buf.toString(), mobs, mob.session());
             things.addAll(mobs);
             mobs.clear();
             mobs = null;
@@ -307,7 +307,7 @@ public class Merge extends StdCommand {
             if (mob.session() != null)
                 mob.session().rawPrint(L("Unpacking items from file: '@x1'...", filename));
             List<Item> items = new Vector<Item>();
-            final String error = CMLib.coffeeMaker().addItemsFromXML(buf.toString(), items, mob.session());
+            final String error = CMLib.aetherMaker().addItemsFromXML(buf.toString(), items, mob.session());
             things.addAll(items);
             items.clear();
             items = null;
@@ -464,7 +464,7 @@ public class Merge extends StdCommand {
                                 if ((I != null) && (tryMerge(mob, R, I, things, changes, onfields, ignore, noisy)))
                                     savemobs = true;
                             }
-                            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                             if (SK != null) {
                                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                                     final Environmental E = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Modify.java b/src/main/java/com/syncleus/aethermud/game/Commands/Modify.java
index 35e6c1f12d..1ffdb6c1bb 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Modify.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Modify.java
@@ -117,14 +117,14 @@ public class Modify extends StdCommand {
                 modItem = (Item) E;
         }
         if (modItem == null) {
-            ShopKeeper S = CMLib.coffeeShops().getShopKeeper(srchMob);
+            ShopKeeper S = CMLib.aetherShops().getShopKeeper(srchMob);
             if (S != null) {
                 Environmental E = S.getShop().getStock(itemID, mob);
                 if (E instanceof Item)
                     modItem = (Item) E;
             }
             if (modItem == null) {
-                S = CMLib.coffeeShops().getShopKeeper(srchRoom);
+                S = CMLib.aetherShops().getShopKeeper(srchRoom);
                 if (S != null) {
                     Environmental E = S.getShop().getStock(itemID, mob);
                     if (E instanceof Item)
@@ -181,8 +181,8 @@ public class Modify extends StdCommand {
             else
                 modItem.setMiscText(restStr);
             mob.location().show(mob, null, CMMsg.MSG_OK_ACTION, L("@x1 shake(s) under the transforming power.", modItem.name()));
-        } else if (CMLib.coffeeMaker().isAnyGenStat(modItem, command)) {
-            CMLib.coffeeMaker().setAnyGenStat(modItem, command, restStr);
+        } else if (CMLib.aetherMaker().isAnyGenStat(modItem, command)) {
+            CMLib.aetherMaker().setAnyGenStat(modItem, command, restStr);
             mob.location().show(mob, null, CMMsg.MSG_OK_ACTION, L("@x1 shake(s) under the transforming power.", modItem.name()));
         } else if ((command.length() == 0) && (modItem.isGeneric())) {
             CMLib.genEd().genMiscSet(mob, modItem, -1);
@@ -190,7 +190,7 @@ public class Modify extends StdCommand {
         } else {
             final STreeSet<String> set = new STreeSet<String>();
             set.addAll(CMParms.parseCommas("LEVEL,ABILITY,HEIGHT,REJUV,USES,MISC", true));
-            set.addAll(CMLib.coffeeMaker().getAllGenStats(modItem));
+            set.addAll(CMLib.aetherMaker().getAllGenStats(modItem));
             mob.tell(L("...but failed to specify an aspect.  Try one of: @x1", CMParms.toListString(set)));
             mob.location().showOthers(mob, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> flub(s) a spell.."));
         }
@@ -282,7 +282,7 @@ public class Modify extends StdCommand {
                         CMLib.map().addArea(A);
                         CMLib.database().DBCreateArea(A);
                         mob.location().setArea(A);
-                        CMLib.coffeeMaker().addAutoPropsToAreaIfNecessary(A);
+                        CMLib.aetherMaker().addAutoPropsToAreaIfNecessary(A);
                         reid = true;
                         mob.location().showHappens(CMMsg.MSG_OK_ACTION, L("This entire area twitches.\n\r"));
                     }
@@ -372,15 +372,15 @@ public class Modify extends StdCommand {
             mob.location().recoverPhyStats();
             CMLib.database().DBUpdateRoom(mob.location());
             mob.location().showHappens(CMMsg.MSG_OK_ACTION, L("The very nature of reality changes.\n\r"));
-        } else if (CMLib.coffeeMaker().isAnyGenStat(mob.location(), command)) {
-            CMLib.coffeeMaker().setAnyGenStat(mob.location(), command, restStr);
+        } else if (CMLib.aetherMaker().isAnyGenStat(mob.location(), command)) {
+            CMLib.aetherMaker().setAnyGenStat(mob.location(), command, restStr);
             mob.location().recoverPhyStats();
             CMLib.database().DBUpdateRoom(mob.location());
             mob.location().showHappens(CMMsg.MSG_OK_ACTION, L("The very nature of reality changes.\n\r"));
         } else {
             final STreeSet<String> set = new STreeSet<String>();
             set.addAll(CMParms.parseCommas("NAME,AREA,DESCRIPTION,AFFECTS,BEHAVIORS,CLASS,XGRID,YGRID", true));
-            set.addAll(CMLib.coffeeMaker().getAllGenStats(mob.location()));
+            set.addAll(CMLib.aetherMaker().getAllGenStats(mob.location()));
             mob.tell(L("...but failed to specify an aspect.  Try one of: @x1", CMParms.toListString(set)));
             mob.location().showOthers(mob, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> flub(s) a spell.."));
             return;
@@ -464,7 +464,7 @@ public class Modify extends StdCommand {
             String command = commands.get(2).toUpperCase();
             final STreeSet<String> helpSet = new STreeSet<String>();
             helpSet.addAll(CMParms.parseCommas("NAME,DESCRIPTION,CLIMATE,FILE,AFFECTS,BEHAVIORS,ADDSUB,DELSUB,XGRID,YGRID,PASSIVE,ACTIVE,FROZEN,STOPPED", true));
-            helpSet.addAll(CMLib.coffeeMaker().getAllGenStats(myArea));
+            helpSet.addAll(CMLib.aetherMaker().getAllGenStats(myArea));
             if ((commands.size() > 3) && (!helpSet.contains(command))) {
                 final Area possibleArea = CMLib.map().getArea(command);
                 if (possibleArea != null) {
@@ -567,8 +567,8 @@ public class Modify extends StdCommand {
             } else if (command.equalsIgnoreCase("BEHAVIORS")) {
                 CMLib.genEd().genBehaviors(mob, myArea, 1, 1);
                 myArea.recoverPhyStats();
-            } else if (CMLib.coffeeMaker().isAnyGenStat(myArea, command)) {
-                CMLib.coffeeMaker().setAnyGenStat(myArea, command, restStr);
+            } else if (CMLib.aetherMaker().isAnyGenStat(myArea, command)) {
+                CMLib.aetherMaker().setAnyGenStat(myArea, command, restStr);
                 myArea.recoverPhyStats();
             } else {
                 mob.tell(L("...but failed to specify an aspect.  Try one of: @x1", CMParms.toListString(helpSet)));
@@ -824,13 +824,13 @@ public class Modify extends StdCommand {
                 CMLib.genEd().modifyGenExit(mob, thisExit, -1);
             else
                 thisExit.setMiscText(restStr);
-        } else if (CMLib.coffeeMaker().isAnyGenStat(thisExit, command)) {
-            CMLib.coffeeMaker().setAnyGenStat(thisExit, command, restStr);
+        } else if (CMLib.aetherMaker().isAnyGenStat(thisExit, command)) {
+            CMLib.aetherMaker().setAnyGenStat(thisExit, command, restStr);
             thisExit.recoverPhyStats();
         } else {
             final STreeSet<String> set = new STreeSet<String>();
             set.addAll(CMParms.parseCommas("TEXT", true));
-            set.addAll(CMLib.coffeeMaker().getAllGenStats(thisExit));
+            set.addAll(CMLib.aetherMaker().getAllGenStats(thisExit));
             mob.tell(L("...but failed to specify an aspect.  Try one of: @x1", CMParms.toListString(set)));
             mob.location().showOthers(mob, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> flub(s) a spell.."));
             return;
@@ -1192,8 +1192,8 @@ public class Modify extends StdCommand {
                     eA.setProficiency(prof);
                 mob.tell(L("@x1's skill proficiency in @x2 set to @x3", M.Name(), A.ID(), "" + prof));
                 Log.sysOut("Mobs", mob.Name() + " modified player " + M.Name() + " skill proficiency in " + A.ID() + ".");
-            } else if (CMLib.coffeeMaker().isAnyGenStat(M, command)) {
-                CMLib.coffeeMaker().setAnyGenStat(M, command, restStr);
+            } else if (CMLib.aetherMaker().isAnyGenStat(M, command)) {
+                CMLib.aetherMaker().setAnyGenStat(M, command, restStr);
                 M.recoverPhyStats();
                 M.recoverCharStats();
                 M.recoverMaxState();
@@ -1201,7 +1201,7 @@ public class Modify extends StdCommand {
                     Log.sysOut("Mobs", mob.Name() + " modified player " + M.Name() + ".");
             } else {
                 final STreeSet<String> set = new STreeSet<String>();
-                set.addAll(CMLib.coffeeMaker().getAllGenStats(M));
+                set.addAll(CMLib.aetherMaker().getAllGenStats(M));
                 set.add("PROFICIENCIES");
                 set.add("PROFICIENCY(ABILITY_ID)");
                 mob.tell(L("...but failed to specify an aspect.  Try one of: @x1", CMParms.toListString(set)));
@@ -1327,13 +1327,13 @@ public class Modify extends StdCommand {
             else
                 modMOB.setMiscText(restStr);
             mob.location().show(mob, null, CMMsg.MSG_OK_ACTION, L("@x1 shakes under the transforming power.", modMOB.name()));
-        } else if (CMLib.coffeeMaker().isAnyGenStat(modMOB, command)) {
-            CMLib.coffeeMaker().setAnyGenStat(modMOB, command, restStr);
+        } else if (CMLib.aetherMaker().isAnyGenStat(modMOB, command)) {
+            CMLib.aetherMaker().setAnyGenStat(modMOB, command, restStr);
             mob.location().show(mob, null, CMMsg.MSG_OK_ACTION, L("@x1 shake(s) under the transforming power.", modMOB.name()));
         } else {
             final STreeSet<String> set = new STreeSet<String>();
             set.addAll(CMParms.parseCommas("LEVEL,ABILITY,REJUV,MISC", true));
-            set.addAll(CMLib.coffeeMaker().getAllGenStats(modMOB));
+            set.addAll(CMLib.aetherMaker().getAllGenStats(modMOB));
             mob.tell(L("...but failed to specify an aspect.  Try one of: @x1", CMParms.toListString(set)));
             mob.location().showOthers(mob, null, CMMsg.MSG_OK_ACTION, L("<S-NAME> flub(s) a spell.."));
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Questwins.java b/src/main/java/com/syncleus/aethermud/game/Commands/Questwins.java
index 8380a74351..3e490bd3a0 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Questwins.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Questwins.java
@@ -16,7 +16,7 @@
  */
 package com.syncleus.aethermud.game.Commands;
 
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Common.interfaces.Quest;
 import com.syncleus.aethermud.game.Common.interfaces.ScriptingEngine;
 import com.syncleus.aethermud.game.MOBS.interfaces.MOB;
@@ -195,7 +195,7 @@ public class Questwins extends StdCommand {
                 return false;
             }
             if ((!mob.isMonster() && (mob.session().confirm(L("Drop the quest '@x1', are you sure (y/N)?", Q.name()), "N")))) {
-                CMLib.coffeeTables().bump(Q, CoffeeTableRow.STAT_QUESTDROPPED);
+                CMLib.aetherTables().bump(Q, AetherTableRow.STAT_QUESTDROPPED);
                 mob.delScript(foundS);
                 mob.tell(L("Quest dropped."));
                 return false;
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Reset.java b/src/main/java/com/syncleus/aethermud/game/Commands/Reset.java
index e7c885db6a..0e29ce5d0a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Reset.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Reset.java
@@ -380,7 +380,7 @@ public class Reset extends StdCommand {
                         sess.print(".");
                     final Room R = CMLib.map().getRoom(r.nextElement());
                     if ((R != null) && (R.roomID() != null) && (R.roomID().length() > 0)) {
-                        final Room room = CMLib.coffeeMaker().makeNewRoomContent(R, false);
+                        final Room room = CMLib.aetherMaker().makeNewRoomContent(R, false);
                         if (room == null) {
                             if (sess != null)
                                 sess.println(L("Unable to load room @x1, skipping.", CMLib.map().getExtendedRoomID(R)));
@@ -763,7 +763,7 @@ public class Reset extends StdCommand {
                     if (R.isGeneric()) {
                         final CharStats ADJSTAT1 = (CharStats) CMClass.getCommon("DefaultCharStats");
                         ADJSTAT1.setAllValues(0);
-                        CMLib.coffeeMaker().setCharStats(ADJSTAT1, R.getStat("ASTATS"));
+                        CMLib.aetherMaker().setCharStats(ADJSTAT1, R.getStat("ASTATS"));
                         boolean save = false;
                         for (final int i : CharStats.CODES.BASECODES()) {
                             if (ADJSTAT1.getStat(i) > 5) {
@@ -772,7 +772,7 @@ public class Reset extends StdCommand {
                             }
                         }
                         if (save) {
-                            R.setStat("ASTATS", CMLib.coffeeMaker().getCharStatsStr(ADJSTAT1));
+                            R.setStat("ASTATS", CMLib.aetherMaker().getCharStatsStr(ADJSTAT1));
                             mob.tell(L("Modified @x1", R.ID()));
                             CMLib.database().DBDeleteRace(R.ID());
                             CMLib.database().DBCreateRace(R.ID(), R.racialParms());
@@ -1093,8 +1093,8 @@ public class Reset extends StdCommand {
                                 final MOB M = R.fetchInhabitant(i);
                                 if ((M.isMonster())
                                     && (M.getStartRoom() == R)
-                                    && (CMLib.beanCounter().getMoney(M) > (M.basePhyStats().level() + 1))) {
-                                    CMLib.beanCounter().setMoney(M, CMLib.dice().roll(1, M.basePhyStats().level(), 0) + CMLib.dice().roll(1, 10, 0));
+                                    && (CMLib.moneyCounter().getMoney(M) > (M.basePhyStats().level() + 1))) {
+                                    CMLib.moneyCounter().setMoney(M, CMLib.dice().roll(1, M.basePhyStats().level(), 0) + CMLib.dice().roll(1, 10, 0));
                                     Log.sysOut("Reset", "Updated " + M.name() + " in room " + R.roomID() + ".");
                                     didSomething = true;
                                 }
@@ -1186,7 +1186,7 @@ public class Reset extends StdCommand {
                                         continue;
                                     for (int i = 0; i < M.numItems(); i++)
                                         changedMOBS = changedMOBS || (rightImportMat(null, M.getItem(i), false) >= 0);
-                                    final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                                    final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                                     if (SK != null) {
                                         for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                                             final Environmental E = i.next();
@@ -1406,7 +1406,7 @@ public class Reset extends StdCommand {
                                 if (CMLib.itemBuilder().itemFix(I, lvl, recordedChanges))
                                     changedMOBS = true;
                             }
-                            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                             if (SK != null) {
                                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                                     final Environmental E = i.next();
@@ -1578,7 +1578,7 @@ public class Reset extends StdCommand {
                                         } else if (returned > 0)
                                             somethingDone = true;
                                     }
-                                    final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                                    final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                                     if (SK != null) {
                                         for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                                             final Environmental E = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Say.java b/src/main/java/com/syncleus/aethermud/game/Commands/Say.java
index b6cce4c23a..a624b5d243 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Say.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Say.java
@@ -66,7 +66,7 @@ public class Say extends StdCommand {
     protected void gmcpSaySend(String sayName, MOB mob, Environmental target, CMMsg msg) {
         if ((mob.session() != null) && (mob.session().getClientTelnetMode(Session.TELNET_GMCP))) {
             mob.session().sendGMCPEvent("comm.channel", "{\"chan\":\"" + sayName + "\",\"msg\":\"" +
-                MiniJSON.toJSONString(CMLib.coffeeFilter().fullOutFilter(null, mob, mob, target, null, CMStrings.removeColors(msg.sourceMessage()), false))
+                MiniJSON.toJSONString(CMLib.aetherFilter().fullOutFilter(null, mob, mob, target, null, CMStrings.removeColors(msg.sourceMessage()), false))
                 + "\",\"player\":\"" + mob.name() + "\"}");
         }
         final Room R = mob.location();
@@ -75,7 +75,7 @@ public class Say extends StdCommand {
                 final MOB M = R.fetchInhabitant(i);
                 if ((M != null) && (M != msg.source()) && (M.session() != null) && (M.session().getClientTelnetMode(Session.TELNET_GMCP))) {
                     M.session().sendGMCPEvent("comm.channel", "{\"chan\":\"" + sayName + "\",\"msg\":\"" +
-                        MiniJSON.toJSONString(CMLib.coffeeFilter().fullOutFilter(null, M, mob, target, null, CMStrings.removeColors(msg.othersMessage()), false))
+                        MiniJSON.toJSONString(CMLib.aetherFilter().fullOutFilter(null, M, mob, target, null, CMStrings.removeColors(msg.othersMessage()), false))
                         + "\",\"player\":\"" + mob.name() + "\"}");
                 }
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Split.java b/src/main/java/com/syncleus/aethermud/game/Commands/Split.java
index 9170bb1a18..c2b037cdff 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Split.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Split.java
@@ -72,12 +72,12 @@ public class Split extends StdCommand {
 
             double totalAbsoluteValue = CMath.mul(numGold, denom);
             totalAbsoluteValue = CMath.div(totalAbsoluteValue, num + 1);
-            if ((totalAbsoluteValue * num) > CMLib.beanCounter().getTotalAbsoluteValue(mob, currency)) {
-                mob.tell(L("You don't have that much @x1.", CMLib.beanCounter().getDenominationName(currency, denom)));
+            if ((totalAbsoluteValue * num) > CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency)) {
+                mob.tell(L("You don't have that much @x1.", CMLib.moneyCounter().getDenominationName(currency, denom)));
                 return false;
             }
-            final List<Coins> V = CMLib.beanCounter().makeAllCurrency(currency, totalAbsoluteValue);
-            CMLib.beanCounter().subtractMoney(mob, totalAbsoluteValue * num);
+            final List<Coins> V = CMLib.moneyCounter().makeAllCurrency(currency, totalAbsoluteValue);
+            CMLib.moneyCounter().subtractMoney(mob, totalAbsoluteValue * num);
             for (final Object element : H) {
                 final MOB recipient = (MOB) element;
                 for (int v = 0; v < V.size(); v++) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Stat.java b/src/main/java/com/syncleus/aethermud/game/Commands/Stat.java
index 52d718d629..50b0fa662d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Stat.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Stat.java
@@ -115,8 +115,8 @@ public class Stat extends Skills {
         ENDQ.set(Calendar.MINUTE, 59);
         ENDQ.set(Calendar.SECOND, 59);
         ENDQ.set(Calendar.MILLISECOND, 999);
-        CMLib.coffeeTables().update();
-        List<CoffeeTableRow> V = CMLib.database().DBReadStats(ENDQ.getTimeInMillis() - 1, 0);
+        CMLib.aetherTables().update();
+        List<AetherTableRow> V = CMLib.database().DBReadStats(ENDQ.getTimeInMillis() - 1, 0);
         if (V.size() == 0) {
             mob.tell(L("No Stats?!"));
             return false;
@@ -204,7 +204,7 @@ public class Stat extends Skills {
             final ArrayList<Ability> allSkills = new ArrayList<Ability>();
             for (final Enumeration<Ability> e = CMClass.abilities(); e.hasMoreElements(); )
                 allSkills.add(e.nextElement());
-            final long[][] totals = new long[allSkills.size()][CoffeeTableRow.STAT_TOTAL];
+            final long[][] totals = new long[allSkills.size()][AetherTableRow.STAT_TOTAL];
             while ((V.size() > 0) && (curTime > (ENDQ.getTimeInMillis()))) {
                 lastCur = curTime;
                 final Calendar C2 = Calendar.getInstance();
@@ -216,16 +216,16 @@ public class Stat extends Skills {
                 C2.set(Calendar.SECOND, 59);
                 C2.set(Calendar.MILLISECOND, 999);
                 curTime = C2.getTimeInMillis();
-                final ArrayList<CoffeeTableRow> set = new ArrayList<CoffeeTableRow>();
+                final ArrayList<AetherTableRow> set = new ArrayList<AetherTableRow>();
                 for (int v = V.size() - 1; v >= 0; v--) {
-                    final CoffeeTableRow T = V.get(v);
+                    final AetherTableRow T = V.get(v);
                     if ((T.startTime() > curTime) && (T.endTime() <= lastCur)) {
                         set.add(T);
                         V.remove(v);
                     }
                 }
                 for (int s = 0; s < set.size(); s++) {
-                    final CoffeeTableRow T = set.get(s);
+                    final AetherTableRow T = set.get(s);
                     for (int x = 0; x < allSkills.size(); x++)
                         T.totalUp("A" + allSkills.get(x).ID().toUpperCase(), totals[x]);
                 }
@@ -237,9 +237,9 @@ public class Stat extends Skills {
                 Ability A = allSkills.get(x);
                 if ((CharC == null) || (CMLib.ableMapper().getQualifyingLevel(CharC.ID(), true, A.ID()) < 0))
                     continue;
-                if (totals[x][CoffeeTableRow.STAT_SKILLUSE] > 0) {
+                if (totals[x][AetherTableRow.STAT_SKILLUSE] > 0) {
                     table.append(CMStrings.padRight("" + A.ID(), 25)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_SKILLUSE], 10));
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_SKILLUSE], 10));
                     if (cr)
                         table.append("\n\r");
                     cr = !cr;
@@ -247,10 +247,10 @@ public class Stat extends Skills {
                 x++;
                 if (x < allSkills.size()) {
                     A = allSkills.get(x);
-                    if (totals[x][CoffeeTableRow.STAT_SKILLUSE] > 0) {
+                    if (totals[x][AetherTableRow.STAT_SKILLUSE] > 0) {
 
                         table.append(CMStrings.padRight("" + A.ID(), 25)
-                            + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_SKILLUSE], 10));
+                            + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_SKILLUSE], 10));
                         if (cr)
                             table.append("\n\r");
                         cr = !cr;
@@ -260,7 +260,7 @@ public class Stat extends Skills {
             if (cr)
                 table.append("\n\r");
         } else if (questStats) {
-            final long[][] totals = new long[CMLib.quests().numQuests()][CoffeeTableRow.STAT_TOTAL];
+            final long[][] totals = new long[CMLib.quests().numQuests()][AetherTableRow.STAT_TOTAL];
             while ((V.size() > 0) && (curTime > (ENDQ.getTimeInMillis()))) {
                 lastCur = curTime;
                 final Calendar C2 = Calendar.getInstance();
@@ -272,9 +272,9 @@ public class Stat extends Skills {
                 C2.set(Calendar.SECOND, 59);
                 C2.set(Calendar.MILLISECOND, 999);
                 curTime = C2.getTimeInMillis();
-                final ArrayList<CoffeeTableRow> set = new ArrayList<CoffeeTableRow>();
+                final ArrayList<AetherTableRow> set = new ArrayList<AetherTableRow>();
                 for (int v = V.size() - 1; v >= 0; v--) {
-                    final CoffeeTableRow T = V.get(v);
+                    final AetherTableRow T = V.get(v);
                     if ((T.startTime() > curTime) && (T.endTime() <= lastCur)) {
                         set.add(T);
                         V.remove(v);
@@ -285,7 +285,7 @@ public class Stat extends Skills {
                     V.clear();
                 }
                 for (int s = 0; s < set.size(); s++) {
-                    final CoffeeTableRow T = set.get(s);
+                    final AetherTableRow T = set.get(s);
                     for (int x = 0; x < CMLib.quests().numQuests(); x++)
                         T.totalUp("U" + T.tagFix(CMLib.quests().fetchQuest(x).name()), totals[x]);
                 }
@@ -296,15 +296,15 @@ public class Stat extends Skills {
                 final Quest Q = CMLib.quests().fetchQuest(x);
                 table.append(
                     CMStrings.padRight(Q.name(), 30)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTSTARTATTEMPT], 5)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTTIMESTART], 5)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTFAILEDSTART], 5)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTACCEPTED], 5)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTSUCCESS], 5)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTFAILED], 5)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTDROPPED], 5)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTTIMESTOP], 5)
-                        + CMStrings.centerPreserve("" + totals[x][CoffeeTableRow.STAT_QUESTSTOP], 5));
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTSTARTATTEMPT], 5)
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTTIMESTART], 5)
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTFAILEDSTART], 5)
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTACCEPTED], 5)
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTSUCCESS], 5)
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTFAILED], 5)
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTDROPPED], 5)
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTTIMESTOP], 5)
+                        + CMStrings.centerPreserve("" + totals[x][AetherTableRow.STAT_QUESTSTOP], 5));
                 table.append("\n\r");
             }
             table.append("\n\r");
@@ -319,9 +319,9 @@ public class Stat extends Skills {
             C2.set(Calendar.SECOND, 59);
             C2.set(Calendar.MILLISECOND, 999);
             curTime = C2.getTimeInMillis();
-            final ArrayList<CoffeeTableRow> set = new ArrayList<CoffeeTableRow>();
+            final ArrayList<AetherTableRow> set = new ArrayList<AetherTableRow>();
             for (int v = V.size() - 1; v >= 0; v--) {
-                final CoffeeTableRow T = V.get(v);
+                final AetherTableRow T = V.get(v);
                 if ((T.startTime() > curTime) && (T.endTime() <= lastCur)) {
                     set.add(T);
                     V.remove(v);
@@ -331,32 +331,32 @@ public class Stat extends Skills {
                 Area A = a.nextElement();
                 if (CMLib.flags().canAccess(mob, A) && (!CMath.bset(A.flags(), Area.FLAG_INSTANCE_CHILD)) && (!(A instanceof SpaceObject))) {
                     code = "X" + A.Name().toUpperCase().replace(' ', '_');
-                    final long[] totals = new long[CoffeeTableRow.STAT_TOTAL];
+                    final long[] totals = new long[AetherTableRow.STAT_TOTAL];
                     long highestOnline = 0;
                     long numberOnlineTotal = 0;
                     long numberOnlineCounter = 0;
                     for (int s = 0; s < set.size(); s++) {
-                        final CoffeeTableRow T = set.get(s);
+                        final AetherTableRow T = set.get(s);
                         T.totalUp(code, totals);
                         if (T.highestOnline() > highestOnline)
                             highestOnline = T.highestOnline();
                         numberOnlineTotal += T.numberOnlineTotal();
                         numberOnlineCounter += T.numberOnlineCounter();
                     }
-                    totals[CoffeeTableRow.STAT_TICKSONLINE] = (totals[CoffeeTableRow.STAT_TICKSONLINE] * CMProps.getTickMillis()) / scale / (1000 * 60);
+                    totals[AetherTableRow.STAT_TICKSONLINE] = (totals[AetherTableRow.STAT_TICKSONLINE] * CMProps.getTickMillis()) / scale / (1000 * 60);
                     double avgOnline = (numberOnlineCounter > 0) ? CMath.div(numberOnlineTotal, numberOnlineCounter) : 0.0;
                     avgOnline = CMath.div(Math.round(avgOnline * 10.0), 10.0);
                     table.append(CMStrings.padRight(A.Name(), 25)
-                        + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_LOGINS], 5)
+                        + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_LOGINS], 5)
                         + CMStrings.centerPreserve("" + highestOnline, 5)
                         + CMStrings.centerPreserve("" + avgOnline, 5)
-                        + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_TICKSONLINE], 5)
-                        + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_NEWPLAYERS], 5)
-                        + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_DEATHS], 5)
-                        + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_PKDEATHS], 5)
-                        + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_CLASSCHANGE], 5)
-                        + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_PURGES], 5)
-                        + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_MARRIAGES], 5) + "\n\r");
+                        + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_TICKSONLINE], 5)
+                        + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_NEWPLAYERS], 5)
+                        + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_DEATHS], 5)
+                        + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_PKDEATHS], 5)
+                        + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_CLASSCHANGE], 5)
+                        + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_PURGES], 5)
+                        + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_MARRIAGES], 5) + "\n\r");
                 }
             }
         } else {
@@ -371,40 +371,40 @@ public class Stat extends Skills {
                 C2.set(Calendar.SECOND, 59);
                 C2.set(Calendar.MILLISECOND, 999);
                 curTime = C2.getTimeInMillis();
-                final ArrayList<CoffeeTableRow> set = new ArrayList<CoffeeTableRow>();
+                final ArrayList<AetherTableRow> set = new ArrayList<AetherTableRow>();
                 for (int v = V.size() - 1; v >= 0; v--) {
-                    final CoffeeTableRow T = V.get(v);
+                    final AetherTableRow T = V.get(v);
                     if ((T.startTime() > curTime) && (T.endTime() <= lastCur)) {
                         set.add(T);
                         V.remove(v);
                     }
                 }
-                final long[] totals = new long[CoffeeTableRow.STAT_TOTAL];
+                final long[] totals = new long[AetherTableRow.STAT_TOTAL];
                 long highestOnline = 0;
                 long numberOnlineTotal = 0;
                 long numberOnlineCounter = 0;
                 for (int s = 0; s < set.size(); s++) {
-                    final CoffeeTableRow T = set.get(s);
+                    final AetherTableRow T = set.get(s);
                     T.totalUp(code, totals);
                     if (T.highestOnline() > highestOnline)
                         highestOnline = T.highestOnline();
                     numberOnlineTotal += T.numberOnlineTotal();
                     numberOnlineCounter += T.numberOnlineCounter();
                 }
-                totals[CoffeeTableRow.STAT_TICKSONLINE] = (totals[CoffeeTableRow.STAT_TICKSONLINE] * CMProps.getTickMillis()) / scale / (1000 * 60);
+                totals[AetherTableRow.STAT_TICKSONLINE] = (totals[AetherTableRow.STAT_TICKSONLINE] * CMProps.getTickMillis()) / scale / (1000 * 60);
                 double avgOnline = (numberOnlineCounter > 0) ? CMath.div(numberOnlineTotal, numberOnlineCounter) : 0.0;
                 avgOnline = CMath.div(Math.round(avgOnline * 10.0), 10.0);
                 table.append(CMStrings.padRight(CMLib.time().date2DateString(curTime + 1) + " - " + CMLib.time().date2DateString(lastCur - 1), 25)
-                    + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_LOGINS], 5)
+                    + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_LOGINS], 5)
                     + CMStrings.centerPreserve("" + highestOnline, 5)
                     + CMStrings.centerPreserve("" + avgOnline, 5)
-                    + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_TICKSONLINE], 5)
-                    + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_NEWPLAYERS], 5)
-                    + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_DEATHS], 5)
-                    + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_PKDEATHS], 5)
-                    + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_CLASSCHANGE], 5)
-                    + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_PURGES], 5)
-                    + CMStrings.centerPreserve("" + totals[CoffeeTableRow.STAT_MARRIAGES], 5) + "\n\r");
+                    + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_TICKSONLINE], 5)
+                    + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_NEWPLAYERS], 5)
+                    + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_DEATHS], 5)
+                    + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_PKDEATHS], 5)
+                    + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_CLASSCHANGE], 5)
+                    + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_PURGES], 5)
+                    + CMStrings.centerPreserve("" + totals[AetherTableRow.STAT_MARRIAGES], 5) + "\n\r");
                 if (scale == 0)
                     break;
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Test.java b/src/main/java/com/syncleus/aethermud/game/Commands/Test.java
index 3a4fbcf2d8..984bcecbef 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Test.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Test.java
@@ -2229,9 +2229,9 @@ public class Test extends StdCommand {
             if ((what.equalsIgnoreCase("all"))
                 || (what.equalsIgnoreCase("escapefilterbug"))) {
                 String str = L("@x1@x2^<CHANNEL \"TEST\"^>You TEST 'message'^</CHANNEL^>^N^.", Color.GREY.getANSICode(), Color.BGGREEN.getANSICode());
-                str = CMLib.coffeeFilter().fullOutFilter(mob.session(), mob, mob, null, null, str, false);
-                str = CMLib.coffeeFilter().fullOutFilter(mob.session(), mob, mob, null, null, str, false);
-                str = CMLib.coffeeFilter().fullOutFilter(mob.session(), mob, mob, null, null, str, false);
+                str = CMLib.aetherFilter().fullOutFilter(mob.session(), mob, mob, null, null, str, false);
+                str = CMLib.aetherFilter().fullOutFilter(mob.session(), mob, mob, null, null, str, false);
+                str = CMLib.aetherFilter().fullOutFilter(mob.session(), mob, mob, null, null, str, false);
                 mob.tell(str);
             }
             if ((what.equalsIgnoreCase("all"))
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Train.java b/src/main/java/com/syncleus/aethermud/game/Commands/Train.java
index 48a15c582d..44c5c603a5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Train.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Train.java
@@ -17,9 +17,9 @@
 package com.syncleus.aethermud.game.Commands;
 
 import com.syncleus.aethermud.game.CharClasses.interfaces.CharClass;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Common.interfaces.CMMsg;
 import com.syncleus.aethermud.game.Common.interfaces.CharStats;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
 import com.syncleus.aethermud.game.MOBS.interfaces.MOB;
 import com.syncleus.aethermud.game.core.*;
 import com.syncleus.aethermud.game.core.collections.StringXVector;
@@ -327,7 +327,7 @@ public class Train extends StdCommand {
                     mob.baseCharStats().getCurrentClass().endCharacter(mob);
                     mob.baseCharStats().setCurrentClass(theClass);
                     if ((!mob.isMonster()) && (mob.soulMate() == null))
-                        CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_CLASSCHANGE);
+                        CMLib.aetherTables().bump(mob, AetherTableRow.STAT_CLASSCHANGE);
                     mob.recoverCharStats();
                     mob.charStats().getCurrentClass().startCharacter(mob, false, true);
                 }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Unload.java b/src/main/java/com/syncleus/aethermud/game/Commands/Unload.java
index 9cf6aace76..9b88954444 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Unload.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Unload.java
@@ -102,7 +102,7 @@ public class Unload extends StdCommand {
                 mob.tell(L("You can't seem to unload that."));
             else
                 for (final AmmunitionWeapon W : items) {
-                    final Item ammunition = CMLib.coffeeMaker().makeAmmunition(W.ammunitionType(), W.ammunitionRemaining());
+                    final Item ammunition = CMLib.aetherMaker().makeAmmunition(W.ammunitionType(), W.ammunitionRemaining());
                     final CMMsg newMsg = CMClass.getMsg(mob, W, ammunition, CMMsg.MSG_UNLOAD, L("<S-NAME> unload(s) <O-NAME> from <T-NAME>."));
                     if (mob.location().okMessage(mob, newMsg))
                         mob.location().send(mob, newMsg);
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/View.java b/src/main/java/com/syncleus/aethermud/game/Commands/View.java
index 773fd839ca..57f1975ad3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/View.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/View.java
@@ -50,7 +50,7 @@ public class View extends StdCommand {
             return false;
         }
 
-        if (CMLib.coffeeShops().getShopKeeper(shopkeeper) == null) {
+        if (CMLib.aetherShops().getShopKeeper(shopkeeper) == null) {
             CMLib.commands().doCommandFail(mob, origCmds, L("@x1 is not a shopkeeper!", shopkeeper.name()));
             return false;
         }
@@ -77,13 +77,13 @@ public class View extends StdCommand {
         boolean doBugFix = true;
         while (doBugFix || ((allFlag) && (addendum <= maxToDo))) {
             doBugFix = false;
-            final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(shopkeeper);
+            final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(shopkeeper);
             final Environmental itemToDo = SK.getShop().getStock(whatName, mob);
             if (itemToDo == null)
                 break;
             if (CMLib.flags().canBeSeenBy(itemToDo, mob))
                 V.add(itemToDo);
-            if (addendum >= CMLib.coffeeShops().getShopKeeper(shopkeeper).getShop().numberInStock(itemToDo))
+            if (addendum >= CMLib.aetherShops().getShopKeeper(shopkeeper).getShop().numberInStock(itemToDo))
                 break;
             addendum++;
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Where.java b/src/main/java/com/syncleus/aethermud/game/Commands/Where.java
index 1e67767a21..e616b73df1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Where.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Where.java
@@ -291,7 +291,7 @@ public class Where extends StdCommand {
                                                 lines.append("\n\r");
                                             }
                                         }
-                                        final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                                        final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                                         if (SK != null)
                                             for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                                                 final Environmental E = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/Commands/Withdraw.java b/src/main/java/com/syncleus/aethermud/game/Commands/Withdraw.java
index 1660fba657..0e2a132e11 100644
--- a/src/main/java/com/syncleus/aethermud/game/Commands/Withdraw.java
+++ b/src/main/java/com/syncleus/aethermud/game/Commands/Withdraw.java
@@ -53,7 +53,7 @@ public class Withdraw extends StdCommand {
         final Environmental shopkeeper = CMLib.english().parseShopkeeper(mob, commands, "Withdraw what or how much from whom?");
         if (shopkeeper == null)
             return false;
-        final ShopKeeper SHOP = CMLib.coffeeShops().getShopKeeper(shopkeeper);
+        final ShopKeeper SHOP = CMLib.aetherShops().getShopKeeper(shopkeeper);
         if ((!(SHOP instanceof Banker)) && (!(SHOP instanceof PostOffice))) {
             CMLib.commands().doCommandFail(mob, origCmds, L("You can not withdraw anything from @x1.", shopkeeper.name()));
             return false;
@@ -78,7 +78,7 @@ public class Withdraw extends StdCommand {
                 }
                 thisThang = ((Banker) SHOP).findDepositInventory(accountName, "" + Integer.MAX_VALUE);
                 if (thisThang instanceof Coins)
-                    thisThang = CMLib.beanCounter().makeCurrency(currency, denomination, numCoins);
+                    thisThang = CMLib.moneyCounter().makeCurrency(currency, denomination, numCoins);
             } else
                 thisThang = ((Banker) SHOP).findDepositInventory(accountName, str);
 
@@ -91,7 +91,7 @@ public class Withdraw extends StdCommand {
                     if (numCoins > 0) {
                         thisThang = ((Banker) SHOP).findDepositInventory(accountName2, "" + Integer.MAX_VALUE);
                         if (thisThang instanceof Coins)
-                            thisThang = CMLib.beanCounter().makeCurrency(currency, denomination, numCoins);
+                            thisThang = CMLib.moneyCounter().makeCurrency(currency, denomination, numCoins);
                         else {
                             CMLib.commands().doCommandFail(mob, origCmds, L("Withdraw how much?"));
                             return false;
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/AuctionCoffeeShop.java b/src/main/java/com/syncleus/aethermud/game/Common/AuctionAetherShop.java
similarity index 94%
rename from src/main/java/com/syncleus/aethermud/game/Common/AuctionCoffeeShop.java
rename to src/main/java/com/syncleus/aethermud/game/Common/AuctionAetherShop.java
index d8712747a4..708a02bced 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/AuctionCoffeeShop.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/AuctionAetherShop.java
@@ -17,7 +17,7 @@
 package com.syncleus.aethermud.game.Common;
 
 import com.syncleus.aethermud.game.Common.interfaces.AuctionData;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeShop;
+import com.syncleus.aethermud.game.Common.interfaces.AetherShop;
 import com.syncleus.aethermud.game.Items.interfaces.Item;
 import com.syncleus.aethermud.game.MOBS.interfaces.Auctioneer;
 import com.syncleus.aethermud.game.MOBS.interfaces.MOB;
@@ -34,7 +34,7 @@ import java.util.Vector;
 
 
 @SuppressWarnings({"unchecked", "rawtypes"})
-public class AuctionCoffeeShop implements CoffeeShop {
+public class AuctionAetherShop implements AetherShop {
     public static final Vector<Environmental> emptyV = new Vector<Environmental>();
     public static final Vector<ShelfProduct> emptyV2 = new Vector<ShelfProduct>();
     public String auctionShop = "";
@@ -42,7 +42,7 @@ public class AuctionCoffeeShop implements CoffeeShop {
 
     @Override
     public String ID() {
-        return "AuctionCoffeeShop";
+        return "AuctionAetherShop";
     }
 
     @Override
@@ -61,7 +61,7 @@ public class AuctionCoffeeShop implements CoffeeShop {
             final Object O = this.clone();
             return (CMObject) O;
         } catch (final CloneNotSupportedException e) {
-            return new AuctionCoffeeShop();
+            return new AuctionAetherShop();
         }
     }
 
@@ -70,7 +70,7 @@ public class AuctionCoffeeShop implements CoffeeShop {
         try {
             return getClass().newInstance();
         } catch (final Exception e) {
-            return new AuctionCoffeeShop();
+            return new AuctionAetherShop();
         }
     }
 
@@ -79,7 +79,7 @@ public class AuctionCoffeeShop implements CoffeeShop {
     }
 
     @Override
-    public CoffeeShop build(ShopKeeper SK) {
+    public AetherShop build(ShopKeeper SK) {
         shopKeeper = new WeakReference(SK);
         return this;
     }
@@ -179,7 +179,7 @@ public class AuctionCoffeeShop implements CoffeeShop {
 
     @Override
     public Environmental getStock(String name, MOB mob) {
-        final List<AuctionData> auctions = CMLib.coffeeShops().getAuctions(null, auctionShop);
+        final List<AuctionData> auctions = CMLib.aetherShops().getAuctions(null, auctionShop);
         final Vector<Environmental> auctionItems = new Vector<Environmental>();
         for (int a = 0; a < auctions.size(); a++) {
             final Item I = auctions.get(a).getAuctionedItem();
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultCoffeeShop.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultAetherShop.java
similarity index 95%
rename from src/main/java/com/syncleus/aethermud/game/Common/DefaultCoffeeShop.java
rename to src/main/java/com/syncleus/aethermud/game/Common/DefaultAetherShop.java
index ba83607eb5..74ee689348 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultCoffeeShop.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultAetherShop.java
@@ -17,7 +17,7 @@
 package com.syncleus.aethermud.game.Common;
 
 import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeShop;
+import com.syncleus.aethermud.game.Common.interfaces.AetherShop;
 import com.syncleus.aethermud.game.Common.interfaces.PhyStats;
 import com.syncleus.aethermud.game.Items.interfaces.*;
 import com.syncleus.aethermud.game.Libraries.interfaces.XMLLibrary;
@@ -35,7 +35,7 @@ import java.util.List;
 import java.util.Vector;
 
 
-public class DefaultCoffeeShop implements CoffeeShop {
+public class DefaultAetherShop implements AetherShop {
     private static Converter<ShelfProduct, Environmental> converter = new Converter<ShelfProduct, Environmental>() {
         @Override
         public Environmental convert(ShelfProduct obj) {
@@ -48,7 +48,7 @@ public class DefaultCoffeeShop implements CoffeeShop {
 
     @Override
     public String ID() {
-        return "DefaultCoffeeShop";
+        return "DefaultAetherShop";
     }
 
     @Override
@@ -65,15 +65,15 @@ public class DefaultCoffeeShop implements CoffeeShop {
     public CMObject copyOf() {
         try {
             final Object O = this.clone();
-            ((DefaultCoffeeShop) O).cloneFix(this);
+            ((DefaultAetherShop) O).cloneFix(this);
             return (CMObject) O;
         } catch (final CloneNotSupportedException e) {
-            return new DefaultCoffeeShop();
+            return new DefaultAetherShop();
         }
     }
 
     @Override
-    public CoffeeShop build(ShopKeeper SK) {
+    public AetherShop build(ShopKeeper SK) {
         shopKeeper = new WeakReference<ShopKeeper>(SK);
         return this;
     }
@@ -98,7 +98,7 @@ public class DefaultCoffeeShop implements CoffeeShop {
         try {
             return getClass().newInstance();
         } catch (final Exception e) {
-            return new DefaultCoffeeShop();
+            return new DefaultAetherShop();
         }
     }
 
@@ -106,7 +106,7 @@ public class DefaultCoffeeShop implements CoffeeShop {
     public void initializeClass() {
     }
 
-    public void cloneFix(DefaultCoffeeShop E) {
+    public void cloneFix(DefaultAetherShop E) {
         storeInventory = new SVector<ShelfProduct>();
         enumerableInventory = new SVector<Environmental>();
         final Hashtable<Environmental, Environmental> copyFix = new Hashtable<Environmental, Environmental>();
@@ -332,7 +332,7 @@ public class DefaultCoffeeShop implements CoffeeShop {
             && (mob != null)
             && ((isSold(ShopKeeper.DEAL_LANDSELLER)) || (isSold(ShopKeeper.DEAL_CLANDSELLER))
             || (isSold(ShopKeeper.DEAL_SHIPSELLER)) || (isSold(ShopKeeper.DEAL_CSHIPSELLER)))) {
-            final List<Environmental> titles = CMLib.coffeeShops().addRealEstateTitles(new Vector<Environmental>(), mob, this, startRoom());
+            final List<Environmental> titles = CMLib.aetherShops().addRealEstateTitles(new Vector<Environmental>(), mob, this, startRoom());
             item = CMLib.english().fetchEnvironmental(titles, name, true);
             if (item == null)
                 item = CMLib.english().fetchEnvironmental(titles, name, false);
@@ -371,7 +371,7 @@ public class DefaultCoffeeShop implements CoffeeShop {
             && ((isSold(ShopKeeper.DEAL_LANDSELLER)) || (isSold(ShopKeeper.DEAL_CLANDSELLER))
             || (isSold(ShopKeeper.DEAL_SHIPSELLER)) || (isSold(ShopKeeper.DEAL_CSHIPSELLER)))
             && (mob != null)) {
-            final List<Environmental> titles = CMLib.coffeeShops().addRealEstateTitles(new Vector<Environmental>(), mob, this, startRoom());
+            final List<Environmental> titles = CMLib.aetherShops().addRealEstateTitles(new Vector<Environmental>(), mob, this, startRoom());
             item = CMLib.english().fetchEnvironmental(titles, name, true);
             if (item == null)
                 item = CMLib.english().fetchEnvironmental(titles, name, false);
@@ -480,7 +480,7 @@ public class DefaultCoffeeShop implements CoffeeShop {
             itemstr.append(CMLib.xml().convertXMLtoTag("ICLASS", CMClass.classID(E)));
             itemstr.append(CMLib.xml().convertXMLtoTag("INUM", "" + numberInStock(E)));
             itemstr.append(CMLib.xml().convertXMLtoTag("IVAL", "" + stockPrice(E)));
-            itemstr.append(CMLib.xml().convertXMLtoTag("IDATA", CMLib.coffeeMaker().getPropertiesStr(E, true)));
+            itemstr.append(CMLib.xml().convertXMLtoTag("IDATA", CMLib.aetherMaker().getPropertiesStr(E, true)));
             itemstr.append("</INV>");
         }
         return itemstr.toString() + "</INVS>";
@@ -497,7 +497,7 @@ public class DefaultCoffeeShop implements CoffeeShop {
             return;
         final ShopKeeper shop = shopKeeper();
         if (shop == null) {
-            Log.errOut("DefaultCoffeeShop", "Error getting base shopKeeper obj host from " + text);
+            Log.errOut("DefaultAetherShop", "Error getting base shopKeeper obj host from " + text);
             return;
         }
         if (!text.trim().startsWith("<")) {
@@ -529,7 +529,7 @@ public class DefaultCoffeeShop implements CoffeeShop {
 
         final List<XMLLibrary.XMLTag> xmlV = CMLib.xml().parseAllXML(text);
         if (xmlV == null) {
-            Log.errOut("DefaultCoffeeShop", "Error parsing data.");
+            Log.errOut("DefaultAetherShop", "Error parsing data.");
             return;
         }
         String parm = CMLib.xml().getValFromPieces(xmlV, "ISELL");
@@ -550,13 +550,13 @@ public class DefaultCoffeeShop implements CoffeeShop {
 
         final List<XMLLibrary.XMLTag> iV = CMLib.xml().getContentsFromPieces(xmlV, "INVS");
         if (iV == null) {
-            Log.errOut("DefaultCoffeeShop", "Error parsing 'INVS'.");
+            Log.errOut("DefaultAetherShop", "Error parsing 'INVS'.");
             return;
         }
         for (int i = 0; i < iV.size(); i++) {
             final XMLTag iblk = iV.get(i);
             if ((!iblk.tag().equalsIgnoreCase("INV")) || (iblk.contents() == null)) {
-                Log.errOut("DefaultCoffeeShop", "Error parsing 'INVS' data.");
+                Log.errOut("DefaultAetherShop", "Error parsing 'INVS' data.");
                 return;
             }
             final String itemi = iblk.getValFromPieces("ICLASS");
@@ -567,10 +567,10 @@ public class DefaultCoffeeShop implements CoffeeShop {
                 newOne = CMClass.getMOB(itemi);
             final List<XMLLibrary.XMLTag> idat = iblk.getContentsFromPieces("IDATA");
             if ((idat == null) || (newOne == null) || (!(newOne instanceof Item))) {
-                Log.errOut("DefaultCoffeeShop", "Error parsing 'INV' data.");
+                Log.errOut("DefaultAetherShop", "Error parsing 'INV' data.");
                 return;
             }
-            CMLib.coffeeMaker().setPropertiesStr(newOne, idat, true);
+            CMLib.aetherMaker().setPropertiesStr(newOne, idat, true);
             final PhysicalAgent P = newOne;
             P.recoverPhyStats();
             V.addElement(P);
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultCoffeeTableRow.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultAetherTableRow.java
similarity index 97%
rename from src/main/java/com/syncleus/aethermud/game/Common/DefaultCoffeeTableRow.java
rename to src/main/java/com/syncleus/aethermud/game/Common/DefaultAetherTableRow.java
index a6b1be04b2..e453b52830 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultCoffeeTableRow.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultAetherTableRow.java
@@ -34,7 +34,7 @@ import com.syncleus.aethermud.game.core.interfaces.CMObject;
 import java.util.*;
 
 
-public class DefaultCoffeeTableRow implements CoffeeTableRow {
+public class DefaultAetherTableRow implements AetherTableRow {
     public Map<String, long[]> stats = new SHashtable<String, long[]>();
     public long highestOnline = 0;
     public long numberOnlineTotal = 0;
@@ -44,7 +44,7 @@ public class DefaultCoffeeTableRow implements CoffeeTableRow {
 
     @Override
     public String ID() {
-        return "DefaultCoffeeTableRow";
+        return "DefaultAetherTableRow";
     }
 
     @Override
@@ -231,7 +231,7 @@ public class DefaultCoffeeTableRow implements CoffeeTableRow {
         try {
             return getClass().newInstance();
         } catch (final Exception e) {
-            return new DefaultCoffeeTableRow();
+            return new DefaultAetherTableRow();
         }
     }
 
@@ -242,7 +242,7 @@ public class DefaultCoffeeTableRow implements CoffeeTableRow {
     @Override
     public CMObject copyOf() {
         try {
-            final DefaultCoffeeTableRow CR = (DefaultCoffeeTableRow) this.clone();
+            final DefaultAetherTableRow CR = (DefaultAetherTableRow) this.clone();
             CR.stats = new SHashtable<String, long[]>();
             CR.stats.putAll(stats);
             return CR;
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultClan.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultClan.java
index bbf4fc6a2a..39420e607b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultClan.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultClan.java
@@ -878,8 +878,8 @@ public class DefaultClan implements Clan {
                         value = M.getWorshipCharID();
                         if (value.length() == 0)
                             value = "ANY";
-                    } else if (CMLib.coffeeMaker().isAnyGenStat(M, tag))
-                        value = CMLib.coffeeMaker().getAnyGenStat(M, tag);
+                    } else if (CMLib.aetherMaker().isAnyGenStat(M, tag))
+                        value = CMLib.aetherMaker().getAnyGenStat(M, tag);
                 } else if (tag.equalsIgnoreCase("WORSHIPCHARID"))
                     value = "ANY";
                 mask.replace(x, y + 2, value);
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultFaction.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultFaction.java
index 90b4ec84f9..22474cdedb 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultFaction.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultFaction.java
@@ -983,7 +983,7 @@ public class DefaultFaction implements Faction, MsgListener {
                     if (eventC.applies(msg.source(), (MOB) msg.target())) {
                         double amount = CMath.s_double(eventC.getTriggerParm("AMOUNT"));
                         final double pctAmount = CMath.s_pct(eventC.getTriggerParm("PCT"))
-                            * CMLib.beanCounter().getTotalAbsoluteNativeValue((MOB) msg.target());
+                            * CMLib.moneyCounter().getTotalAbsoluteNativeValue((MOB) msg.target());
                         if (pctAmount > amount)
                             amount = pctAmount;
                         if (amount == 0)
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultLawSet.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultLawSet.java
index 797a7c4b57..0cdbfae0e4 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultLawSet.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultLawSet.java
@@ -302,7 +302,7 @@ public class DefaultLawSet implements Law {
     protected boolean notifyPlayer(final String ownerName, String owerName, final double owed, final String fourWord, final String subject, String message) {
         MOB M = CMLib.players().getPlayer(ownerName);
         if ((M != null) && (CMLib.flags().isInTheGame(M, true))) {
-            final String amountOwed = CMLib.beanCounter().nameCurrencyLong(M, owed);
+            final String amountOwed = CMLib.moneyCounter().nameCurrencyLong(M, owed);
             if (owerName.length() == 0)
                 owerName = M.Name();
             M.tell(CMLib.lang().L(message, owerName, amountOwed, CMProps.getVar(CMProps.Str.MUDNAME), fourWord));
@@ -311,7 +311,7 @@ public class DefaultLawSet implements Law {
             if (M != null) {
                 if (owerName.length() == 0)
                     owerName = M.Name();
-                final String amountOwed = CMLib.beanCounter().nameCurrencyLong(M, owed);
+                final String amountOwed = CMLib.moneyCounter().nameCurrencyLong(M, owed);
                 final String subj = CMLib.lang().L(subject, owerName, amountOwed, CMProps.getVar(CMProps.Str.MUDNAME), fourWord);
                 final String msg = CMLib.lang().L(message, owerName, amountOwed, CMProps.getVar(CMProps.Str.MUDNAME), fourWord);
                 return sendGameMail(M.Name(), subj, msg);
@@ -398,10 +398,10 @@ public class DefaultLawSet implements Law {
                 if (owed > 0) {
                     owed -= paid;
                     if ((owed > 0)
-                        && (!CMLib.beanCounter().modifyLocalBankGold(A,
+                        && (!CMLib.moneyCounter().modifyLocalBankGold(A,
                         owner,
                         CMLib.utensils().getFormattedDate(A) + ": Withdrawal of " + owed + ": Taxes on property: " + properties.toString(),
-                        CMLib.beanCounter().getCurrency(A),
+                        CMLib.moneyCounter().getCurrency(A),
                         -owed))) {
                         boolean owesButNotConfiscated = false;
                         for (int p = 0; p < particulars.size(); p++) {
@@ -441,7 +441,7 @@ public class DefaultLawSet implements Law {
                             final Clan clanC = CMLib.clans().getClan(owner);
                             if (clanC != null) {
                                 final MOB M = clanC.getResponsibleMember();
-                                final String amountOwed = CMLib.beanCounter().nameCurrencyLong(M, owed);
+                                final String amountOwed = CMLib.moneyCounter().nameCurrencyLong(M, owed);
                                 final List<Pair<Clan, Integer>> clanSet = new Vector<Pair<Clan, Integer>>();
                                 clanSet.add(new Pair<Clan, Integer>(C, Integer.valueOf(0)));
                                 final List<String> channels = CMLib.channels().getFlaggedChannelNames(ChannelsLibrary.ChannelFlag.CLANINFO);
@@ -482,7 +482,7 @@ public class DefaultLawSet implements Law {
                         if (owed < 0)
                             owed = 0;
                         if ((treasuryR != null) && ((owed + paid) > 0)) {
-                            final List<Coins> V = CMLib.beanCounter().makeAllCurrency(CMLib.beanCounter().getCurrency(A), owed + paid);
+                            final List<Coins> V = CMLib.moneyCounter().makeAllCurrency(CMLib.moneyCounter().getCurrency(A), owed + paid);
                             for (int v = 0; v < V.size(); v++) {
                                 final Coins COIN = V.get(v);
                                 COIN.setContainer(container);
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultPlayerStats.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultPlayerStats.java
index f4f90fc7a5..905049be70 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultPlayerStats.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultPlayerStats.java
@@ -540,7 +540,7 @@ public class DefaultPlayerStats implements PlayerStats {
         final StringBuilder str = new StringBuilder("");
         for (int t = 0; t < titles.size(); t++) {
             final String s = titles.get(t);
-            str.append("<TITLE>" + CMLib.xml().parseOutAngleBrackets(CMLib.coffeeFilter().safetyFilter(s)) + "</TITLE>");
+            str.append("<TITLE>" + CMLib.xml().parseOutAngleBrackets(CMLib.aetherFilter().safetyFilter(s)) + "</TITLE>");
         }
         return str.toString();
     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultQuest.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultQuest.java
index f982b79e0e..4afb093cc7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultQuest.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultQuest.java
@@ -1988,7 +1988,7 @@ public class DefaultQuest implements Quest, Tickable, CMObject {
                             break;
                         }
                         q.loadedMobs = new Vector<MOB>();
-                        final String errorStr = CMLib.coffeeMaker().addMOBsFromXML(buf.toString(), q.loadedMobs, null);
+                        final String errorStr = CMLib.aetherMaker().addMOBsFromXML(buf.toString(), q.loadedMobs, null);
                         if (errorStr.length() > 0) {
                             errorOccurred(q, isQuiet, "Quest '" + name() + "',Error on import of: '" + CMParms.combine(p, 2) + "' for '" + name() + "': " + errorStr + ".");
                             break;
@@ -2018,7 +2018,7 @@ public class DefaultQuest implements Quest, Tickable, CMObject {
                             break;
                         }
                         q.loadedItems = new Vector<Item>();
-                        final String errorStr = CMLib.coffeeMaker().addItemsFromXML(buf.toString(), q.loadedItems, null);
+                        final String errorStr = CMLib.aetherMaker().addItemsFromXML(buf.toString(), q.loadedItems, null);
                         if (errorStr.length() > 0) {
                             errorOccurred(q, isQuiet, "Quest '" + name() + "',Error on import of: '" + CMParms.combine(p, 2) + "' for '" + name() + "': " + errorStr + ".");
                             break;
@@ -2562,7 +2562,7 @@ public class DefaultQuest implements Quest, Tickable, CMObject {
     @Override
     public boolean startQuest() {
         if ((!running()) && (!isCopy()))
-            CMLib.coffeeTables().bump(this, CoffeeTableRow.STAT_QUESTSTARTATTEMPT);
+            CMLib.aetherTables().bump(this, AetherTableRow.STAT_QUESTSTARTATTEMPT);
         return startQuestInternal();
     }
 
@@ -2616,7 +2616,7 @@ public class DefaultQuest implements Quest, Tickable, CMObject {
                 resetQuest(10);
                 return false;
             }
-            CMLib.coffeeTables().bump(this, CoffeeTableRow.STAT_QUESTFAILEDSTART);
+            CMLib.aetherTables().bump(this, AetherTableRow.STAT_QUESTFAILEDSTART);
         } else if (!questState.done)
             Log.errOut("Quest", "Nothing parsed in '" + name() + "', quest not started.");
         else if (duration() < 0) {
@@ -2828,7 +2828,7 @@ public class DefaultQuest implements Quest, Tickable, CMObject {
     @Override
     public void stopQuest() {
         if ((!stoppingQuest) && (running()))
-            CMLib.coffeeTables().bump(this, CoffeeTableRow.STAT_QUESTSUCCESS);
+            CMLib.aetherTables().bump(this, AetherTableRow.STAT_QUESTSUCCESS);
         stopQuestInternal();
     }
 
@@ -3097,14 +3097,14 @@ public class DefaultQuest implements Quest, Tickable, CMObject {
                 if ((questState != null) && (questState.autoStepAfterDuration)) {
                     stepQuest();
                 } else {
-                    CMLib.coffeeTables().bump(this, CoffeeTableRow.STAT_QUESTTIMESTOP);
+                    CMLib.aetherTables().bump(this, AetherTableRow.STAT_QUESTTIMESTOP);
                     stopQuest();
                 }
             }
             tickStatus = Tickable.STATUS_END;
         } else {
             if (startQuestOnTime()) {
-                CMLib.coffeeTables().bump(this, CoffeeTableRow.STAT_QUESTTIMESTART);
+                CMLib.aetherTables().bump(this, AetherTableRow.STAT_QUESTTIMESTART);
             }
         }
         tickStatus = Tickable.STATUS_NOT;
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultScriptingEngine.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultScriptingEngine.java
index 440580bebd..b01abc01f7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultScriptingEngine.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultScriptingEngine.java
@@ -678,7 +678,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
 
     public String getVar(final Resources resources, final String host, String var, String defaultVal) {
         if (host.equalsIgnoreCase("*")) {
-            if (var.equals("COFFEEMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT")) {
+            if (var.equals("AETHERMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT")) {
                 final StringBuffer str = new StringBuffer("");
                 parseLoads(getScript(), 0, null, str);
                 return str.toString();
@@ -1010,7 +1010,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
         monsters = new Vector<PhysicalAgent>();
         if (xml != null) {
             if (CMLib.xml().getContentsFromPieces(xml, "MOBS") != null) {
-                final String error = CMLib.coffeeMaker().addMOBsFromXML(xml, monsters, null);
+                final String error = CMLib.aetherMaker().addMOBsFromXML(xml, monsters, null);
                 if (error.length() > 0) {
                     logError(scripted, "XMLLOAD", "?", "Error in XML file: '" + filename + "'");
                     return null;
@@ -1114,7 +1114,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
         final List<XMLLibrary.XMLTag> xml = CMLib.xml().parseAllXML(buf.toString());
         if (xml != null) {
             if (CMLib.xml().getContentsFromPieces(xml, "ITEMS") != null) {
-                final String error = CMLib.coffeeMaker().addItemsFromXML(buf.toString(), items, null);
+                final String error = CMLib.aetherMaker().addItemsFromXML(buf.toString(), items, null);
                 if (error.length() > 0) {
                     logError(scripted, "XMLLOAD", "?", "Error in XML file: '" + filename + "' in " + thangName);
                     return null;
@@ -1941,7 +1941,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                 arg2 = arg2.toUpperCase().trim();
                 final GenericBuilder.GenMOBCode element = (GenericBuilder.GenMOBCode) CMath.s_valueOf(GenericBuilder.GenMOBCode.class, arg2);
                 if (element != null) {
-                    val = CMLib.coffeeMaker().getGenMobStat((MOB) E, element.name());
+                    val = CMLib.aetherMaker().getGenMobStat((MOB) E, element.name());
                     found = true;
                 }
                 if (!found) {
@@ -2018,7 +2018,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
             } else if (E instanceof Item) {
                 final GenericBuilder.GenItemCode code = (GenericBuilder.GenItemCode) CMath.s_valueOf(GenericBuilder.GenItemCode.class, arg2.toUpperCase().trim());
                 if (code != null) {
-                    val = CMLib.coffeeMaker().getGenItemStat((Item) E, code.name());
+                    val = CMLib.aetherMaker().getGenItemStat((Item) E, code.name());
                     found = true;
                 }
             }
@@ -2816,7 +2816,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                         if (E == null)
                             returnable = false;
                         else
-                            returnable = simpleEvalStr(scripted, CMLib.beanCounter().getCurrency(E), arg3, arg2, "CURRENCY");
+                            returnable = simpleEvalStr(scripted, CMLib.moneyCounter().getCurrency(E), arg3, arg2, "CURRENCY");
                         break;
                     }
                     case 61: // strin
@@ -3541,15 +3541,15 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                         }
                         int ct = 0;
                         if (which != null) {
-                            ShopKeeper shopHere = CMLib.coffeeShops().getShopKeeper(which);
+                            ShopKeeper shopHere = CMLib.aetherShops().getShopKeeper(which);
                             if ((shopHere == null) && (scripted instanceof Item))
-                                shopHere = CMLib.coffeeShops().getShopKeeper(((Item) which).owner());
+                                shopHere = CMLib.aetherShops().getShopKeeper(((Item) which).owner());
                             if ((shopHere == null) && (scripted instanceof MOB))
-                                shopHere = CMLib.coffeeShops().getShopKeeper(((MOB) which).location());
+                                shopHere = CMLib.aetherShops().getShopKeeper(((MOB) which).location());
                             if (shopHere == null)
-                                shopHere = CMLib.coffeeShops().getShopKeeper(lastKnownLocation);
+                                shopHere = CMLib.aetherShops().getShopKeeper(lastKnownLocation);
                             if (shopHere != null) {
-                                CoffeeShop shop = shopHere.getShop();
+                                AetherShop shop = shopHere.getShop();
                                 if (shop != null) {
                                     for (Iterator<Environmental> i = shop.getStoreInventory(); i.hasNext(); i.next()) {
                                         ct++;
@@ -3581,15 +3581,15 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                         Environmental which = null;
                         int ct = 1;
                         if (where != null) {
-                            ShopKeeper shopHere = CMLib.coffeeShops().getShopKeeper(where);
+                            ShopKeeper shopHere = CMLib.aetherShops().getShopKeeper(where);
                             if ((shopHere == null) && (scripted instanceof Item))
-                                shopHere = CMLib.coffeeShops().getShopKeeper(((Item) where).owner());
+                                shopHere = CMLib.aetherShops().getShopKeeper(((Item) where).owner());
                             if ((shopHere == null) && (scripted instanceof MOB))
-                                shopHere = CMLib.coffeeShops().getShopKeeper(((MOB) where).location());
+                                shopHere = CMLib.aetherShops().getShopKeeper(((MOB) where).location());
                             if (shopHere == null)
-                                shopHere = CMLib.coffeeShops().getShopKeeper(lastKnownLocation);
+                                shopHere = CMLib.aetherShops().getShopKeeper(lastKnownLocation);
                             if (shopHere != null) {
-                                CoffeeShop shop = shopHere.getShop();
+                                AetherShop shop = shopHere.getShop();
                                 if (shop != null) {
                                     for (Iterator<Environmental> i = shop.getStoreInventory(); i.hasNext(); ) {
                                         Environmental E = i.next();
@@ -3633,15 +3633,15 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                         }
                         returnable = false;
                         if (where != null) {
-                            ShopKeeper shopHere = CMLib.coffeeShops().getShopKeeper(where);
+                            ShopKeeper shopHere = CMLib.aetherShops().getShopKeeper(where);
                             if ((shopHere == null) && (scripted instanceof Item))
-                                shopHere = CMLib.coffeeShops().getShopKeeper(((Item) where).owner());
+                                shopHere = CMLib.aetherShops().getShopKeeper(((Item) where).owner());
                             if ((shopHere == null) && (scripted instanceof MOB))
-                                shopHere = CMLib.coffeeShops().getShopKeeper(((MOB) where).location());
+                                shopHere = CMLib.aetherShops().getShopKeeper(((MOB) where).location());
                             if (shopHere == null)
-                                shopHere = CMLib.coffeeShops().getShopKeeper(lastKnownLocation);
+                                shopHere = CMLib.aetherShops().getShopKeeper(lastKnownLocation);
                             if (shopHere != null) {
-                                CoffeeShop shop = shopHere.getShop();
+                                AetherShop shop = shopHere.getShop();
                                 if (shop != null) {
                                     final Environmental E = shop.getStock(arg2.trim(), null);
                                     returnable = (E != null);
@@ -4478,7 +4478,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                         else {
                             int val1 = 0;
                             if (E instanceof MOB)
-                                val1 = (int) Math.round(CMLib.beanCounter().getTotalAbsoluteValue((MOB) E, CMLib.beanCounter().getCurrency(scripted)));
+                                val1 = (int) Math.round(CMLib.moneyCounter().getTotalAbsoluteValue((MOB) E, CMLib.moneyCounter().getCurrency(scripted)));
                             else if (E instanceof Coins)
                                 val1 = (int) Math.round(((Coins) E).getTotalValue());
                             else if (E instanceof Item)
@@ -4525,7 +4525,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                             logError(scripted, "VALUE", "Syntax", funcParms);
                             break;
                         }
-                        if (!CMLib.beanCounter().getAllCurrencies().contains(arg2.toUpperCase())) {
+                        if (!CMLib.moneyCounter().getAllCurrencies().contains(arg2.toUpperCase())) {
                             logError(scripted, "VALUE", "Syntax", arg2 + " is not a valid designated currency.");
                             break;
                         }
@@ -4534,7 +4534,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                         else {
                             int val1 = 0;
                             if (E instanceof MOB)
-                                val1 = (int) Math.round(CMLib.beanCounter().getTotalAbsoluteValue((MOB) E, arg2.toUpperCase()));
+                                val1 = (int) Math.round(CMLib.moneyCounter().getTotalAbsoluteValue((MOB) E, arg2.toUpperCase()));
                             else if (E instanceof Coins) {
                                 if (((Coins) E).getCurrency().equalsIgnoreCase(arg2))
                                     val1 = (int) Math.round(((Coins) E).getTotalValue());
@@ -4789,13 +4789,13 @@ public class DefaultScriptingEngine implements ScriptingEngine {
 
     protected void setShopPrice(ShopKeeper shopHere, Environmental E, Object[] tmp) {
         if (shopHere instanceof MOB) {
-            ShopKeeper.ShopPrice price = CMLib.coffeeShops().sellingPrice((MOB) shopHere, null, E, shopHere, true);
+            ShopKeeper.ShopPrice price = CMLib.aetherShops().sellingPrice((MOB) shopHere, null, E, shopHere, true);
             if (price.experiencePrice > 0)
                 tmp[SPECIAL_9SHOPHASPRICE] = price.experiencePrice + "xp";
             else if (price.questPointPrice > 0)
                 tmp[SPECIAL_9SHOPHASPRICE] = price.questPointPrice + "qp";
             else
-                tmp[SPECIAL_9SHOPHASPRICE] = CMLib.beanCounter().abbreviatedPrice((MOB) shopHere, price.absoluteGoldPrice);
+                tmp[SPECIAL_9SHOPHASPRICE] = CMLib.moneyCounter().abbreviatedPrice((MOB) shopHere, price.absoluteGoldPrice);
         }
     }
 
@@ -5177,7 +5177,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                     final String arg1 = CMParms.cleanBit(funcParms);
                     final Environmental E = getArgumentItem(arg1, source, monster, scripted, target, primaryItem, secondaryItem, msg, tmp);
                     if (E != null)
-                        results.append(CMLib.beanCounter().getCurrency(E));
+                        results.append(CMLib.moneyCounter().getCurrency(E));
                     break;
                 }
                 case 14: // affected
@@ -5686,15 +5686,15 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                     Environmental which = null;
                     int ct = 1;
                     if (where != null) {
-                        ShopKeeper shopHere = CMLib.coffeeShops().getShopKeeper(where);
+                        ShopKeeper shopHere = CMLib.aetherShops().getShopKeeper(where);
                         if ((shopHere == null) && (scripted instanceof Item))
-                            shopHere = CMLib.coffeeShops().getShopKeeper(((Item) where).owner());
+                            shopHere = CMLib.aetherShops().getShopKeeper(((Item) where).owner());
                         if ((shopHere == null) && (scripted instanceof MOB))
-                            shopHere = CMLib.coffeeShops().getShopKeeper(((MOB) where).location());
+                            shopHere = CMLib.aetherShops().getShopKeeper(((MOB) where).location());
                         if (shopHere == null)
-                            shopHere = CMLib.coffeeShops().getShopKeeper(lastKnownLocation);
+                            shopHere = CMLib.aetherShops().getShopKeeper(lastKnownLocation);
                         if (shopHere != null) {
-                            CoffeeShop shop = shopHere.getShop();
+                            AetherShop shop = shopHere.getShop();
                             if (shop != null) {
                                 for (Iterator<Environmental> i = shop.getStoreInventory(); i.hasNext(); ct++) {
                                     Environmental E = i.next();
@@ -5728,15 +5728,15 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                     }
                     int ct = 0;
                     if (which != null) {
-                        ShopKeeper shopHere = CMLib.coffeeShops().getShopKeeper(which);
+                        ShopKeeper shopHere = CMLib.aetherShops().getShopKeeper(which);
                         if ((shopHere == null) && (scripted instanceof Item))
-                            shopHere = CMLib.coffeeShops().getShopKeeper(((Item) which).owner());
+                            shopHere = CMLib.aetherShops().getShopKeeper(((Item) which).owner());
                         if ((shopHere == null) && (scripted instanceof MOB))
-                            shopHere = CMLib.coffeeShops().getShopKeeper(((MOB) which).location());
+                            shopHere = CMLib.aetherShops().getShopKeeper(((MOB) which).location());
                         if (shopHere == null)
-                            shopHere = CMLib.coffeeShops().getShopKeeper(lastKnownLocation);
+                            shopHere = CMLib.aetherShops().getShopKeeper(lastKnownLocation);
                         if (shopHere != null) {
-                            CoffeeShop shop = shopHere.getShop();
+                            AetherShop shop = shopHere.getShop();
                             if (shop != null) {
                                 for (Iterator<Environmental> i = shop.getStoreInventory(); i.hasNext(); i.next()) {
                                     ct++;
@@ -5763,15 +5763,15 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                             where = this.getArgumentMOB(arg1raw, source, monster, target, primaryItem, secondaryItem, msg, tmp);
                     }
                     if (where != null) {
-                        ShopKeeper shopHere = CMLib.coffeeShops().getShopKeeper(where);
+                        ShopKeeper shopHere = CMLib.aetherShops().getShopKeeper(where);
                         if ((shopHere == null) && (scripted instanceof Item))
-                            shopHere = CMLib.coffeeShops().getShopKeeper(((Item) where).owner());
+                            shopHere = CMLib.aetherShops().getShopKeeper(((Item) where).owner());
                         if ((shopHere == null) && (scripted instanceof MOB))
-                            shopHere = CMLib.coffeeShops().getShopKeeper(((MOB) where).location());
+                            shopHere = CMLib.aetherShops().getShopKeeper(((MOB) where).location());
                         if (shopHere == null)
-                            shopHere = CMLib.coffeeShops().getShopKeeper(lastKnownLocation);
+                            shopHere = CMLib.aetherShops().getShopKeeper(lastKnownLocation);
                         if (shopHere != null) {
-                            CoffeeShop shop = shopHere.getShop();
+                            AetherShop shop = shopHere.getShop();
                             if (shop != null) {
                                 int ct = 0;
                                 for (Iterator<Environmental> i = shop.getStoreInventory(); i.hasNext(); i.next())
@@ -6168,7 +6168,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                     else {
                         int val1 = 0;
                         if (E instanceof MOB)
-                            val1 = (int) Math.round(CMLib.beanCounter().getTotalAbsoluteValue((MOB) E, CMLib.beanCounter().getCurrency(scripted)));
+                            val1 = (int) Math.round(CMLib.moneyCounter().getTotalAbsoluteValue((MOB) E, CMLib.moneyCounter().getCurrency(scripted)));
                         else if (E instanceof Coins)
                             val1 = (int) Math.round(((Coins) E).getTotalValue());
                         else if (E instanceof Item)
@@ -6199,7 +6199,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                 {
                     final String arg1 = CMParms.getCleanBit(funcParms, 0);
                     final String arg2 = CMParms.getPastBitClean(funcParms, 0);
-                    if (!CMLib.beanCounter().getAllCurrencies().contains(arg2.toUpperCase())) {
+                    if (!CMLib.moneyCounter().getAllCurrencies().contains(arg2.toUpperCase())) {
                         logError(scripted, "VALUE", "Syntax", arg2 + " is not a valid designated currency.");
                         return results.toString();
                     }
@@ -6209,7 +6209,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                     else {
                         int val1 = 0;
                         if (E instanceof MOB)
-                            val1 = (int) Math.round(CMLib.beanCounter().getTotalAbsoluteValue((MOB) E, arg2));
+                            val1 = (int) Math.round(CMLib.moneyCounter().getTotalAbsoluteValue((MOB) E, arg2));
                         else if (E instanceof Coins) {
                             if (((Coins) E).getCurrency().equalsIgnoreCase(arg2))
                                 val1 = (int) Math.round(((Coins) E).getTotalValue());
@@ -7265,10 +7265,10 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                                 final GenericBuilder.GenMOBCode element = (GenericBuilder.GenMOBCode) CMath.s_valueOf(GenericBuilder.GenMOBCode.class, arg2.toUpperCase().trim());
                                 if (element != null) {
                                     if (arg3.equals("++"))
-                                        arg3 = "" + (CMath.s_int(CMLib.coffeeMaker().getGenMobStat((MOB) newTarget, element.name())) + 1);
+                                        arg3 = "" + (CMath.s_int(CMLib.aetherMaker().getGenMobStat((MOB) newTarget, element.name())) + 1);
                                     if (arg3.equals("--"))
-                                        arg3 = "" + (CMath.s_int(CMLib.coffeeMaker().getGenMobStat((MOB) newTarget, element.name())) - 1);
-                                    CMLib.coffeeMaker().setGenMobStat((MOB) newTarget, element.name(), arg3);
+                                        arg3 = "" + (CMath.s_int(CMLib.aetherMaker().getGenMobStat((MOB) newTarget, element.name())) - 1);
+                                    CMLib.aetherMaker().setGenMobStat((MOB) newTarget, element.name(), arg3);
                                     found = true;
                                 }
                                 if (!found) {
@@ -7376,10 +7376,10 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                             final GenericBuilder.GenItemCode element = (GenericBuilder.GenItemCode) CMath.s_valueOf(GenericBuilder.GenItemCode.class, arg2.toUpperCase().trim());
                             if (element != null) {
                                 if (arg3.equals("++"))
-                                    arg3 = "" + (CMath.s_int(CMLib.coffeeMaker().getGenItemStat((Item) newTarget, element.name())) + 1);
+                                    arg3 = "" + (CMath.s_int(CMLib.aetherMaker().getGenItemStat((Item) newTarget, element.name())) + 1);
                                 if (arg3.equals("--"))
-                                    arg3 = "" + (CMath.s_int(CMLib.coffeeMaker().getGenItemStat((Item) newTarget, element.name())) - 1);
-                                CMLib.coffeeMaker().setGenItemStat((Item) newTarget, element.name(), arg3);
+                                    arg3 = "" + (CMath.s_int(CMLib.aetherMaker().getGenItemStat((Item) newTarget, element.name())) - 1);
+                                CMLib.aetherMaker().setGenItemStat((Item) newTarget, element.name(), arg3);
                                 found = true;
                             }
                         }
@@ -7453,16 +7453,16 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                     }
                     if (newTarget instanceof MOB) {
                         if (plus)
-                            CMLib.beanCounter().giveSomeoneMoney((MOB) newTarget, currency, amt * denomination);
+                            CMLib.moneyCounter().giveSomeoneMoney((MOB) newTarget, currency, amt * denomination);
                         else
-                            CMLib.beanCounter().subtractMoney((MOB) newTarget, currency, amt * denomination);
+                            CMLib.moneyCounter().subtractMoney((MOB) newTarget, currency, amt * denomination);
                     } else {
                         if (!(newTarget instanceof Room))
                             newTarget = lastKnownLocation;
                         if (plus)
-                            CMLib.beanCounter().dropMoney((Room) newTarget, container, currency, amt * denomination);
+                            CMLib.moneyCounter().dropMoney((Room) newTarget, container, currency, amt * denomination);
                         else
-                            CMLib.beanCounter().removeMoney((Room) newTarget, container, currency, amt * denomination);
+                            CMLib.moneyCounter().removeMoney((Room) newTarget, container, currency, amt * denomination);
                     }
                     break;
                 }
@@ -7515,11 +7515,11 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                             Q.runtimeRegisterObject(obj);
                         }
                     } else if (var.equalsIgnoreCase("STATISTICS") && (val.equalsIgnoreCase("ACCEPTED")))
-                        CMLib.coffeeTables().bump(Q, CoffeeTableRow.STAT_QUESTACCEPTED);
+                        CMLib.aetherTables().bump(Q, AetherTableRow.STAT_QUESTACCEPTED);
                     else if (var.equalsIgnoreCase("STATISTICS") && (val.equalsIgnoreCase("SUCCESS") || val.equalsIgnoreCase("WON")))
-                        CMLib.coffeeTables().bump(Q, CoffeeTableRow.STAT_QUESTSUCCESS);
+                        CMLib.aetherTables().bump(Q, AetherTableRow.STAT_QUESTSUCCESS);
                     else if (var.equalsIgnoreCase("STATISTICS") && (val.equalsIgnoreCase("FAILED")))
-                        CMLib.coffeeTables().bump(Q, CoffeeTableRow.STAT_QUESTFAILED);
+                        CMLib.aetherTables().bump(Q, AetherTableRow.STAT_QUESTFAILED);
                     else {
                         if (val.equals("++"))
                             val = "" + (CMath.s_int(Q.getStat(var)) + 1);
@@ -7701,7 +7701,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                         if (coins > 0) {
                             final String currency = CMLib.english().numPossibleGoldCurrency(scripted, name);
                             final double denom = CMLib.english().numPossibleGoldDenomination(scripted, currency, name);
-                            final Coins C = CMLib.beanCounter().makeCurrency(currency, denom, coins);
+                            final Coins C = CMLib.moneyCounter().makeCurrency(currency, denom, coins);
                             if (addHere instanceof MOB)
                                 ((MOB) addHere).addItem(C);
                             else if (addHere instanceof Room)
@@ -7772,7 +7772,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                         if (coins > 0) {
                             final String currency = CMLib.english().numPossibleGoldCurrency(monster, name);
                             final double denom = CMLib.english().numPossibleGoldDenomination(monster, currency, name);
-                            final Coins C = CMLib.beanCounter().makeCurrency(currency, denom, coins);
+                            final Coins C = CMLib.moneyCounter().makeCurrency(currency, denom, coins);
                             Is.add(C);
                         } else {
                             final Item I = CMClass.getItem(name);
@@ -7805,13 +7805,13 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                 case 84: // mpoloadshop
                 {
                     // if not mob
-                    ShopKeeper addHere = CMLib.coffeeShops().getShopKeeper(scripted);
+                    ShopKeeper addHere = CMLib.aetherShops().getShopKeeper(scripted);
                     if ((addHere == null) && (scripted instanceof Item))
-                        addHere = CMLib.coffeeShops().getShopKeeper(((Item) scripted).owner());
+                        addHere = CMLib.aetherShops().getShopKeeper(((Item) scripted).owner());
                     if ((addHere == null) && (scripted instanceof MOB))
-                        addHere = CMLib.coffeeShops().getShopKeeper(((MOB) scripted).location());
+                        addHere = CMLib.aetherShops().getShopKeeper(((MOB) scripted).location());
                     if (addHere == null)
-                        addHere = CMLib.coffeeShops().getShopKeeper(lastKnownLocation);
+                        addHere = CMLib.aetherShops().getShopKeeper(lastKnownLocation);
                     if (addHere != null) {
                         if (tt == null) {
                             tt = parseBits(script, si, "Cr");
@@ -7840,7 +7840,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                                         && (!(I instanceof ArchonOnly))) {
                                         I = (Item) I.copyOf();
                                         I.recoverPhyStats();
-                                        CoffeeShop shop = addHere.getShop();
+                                        AetherShop shop = addHere.getShop();
                                         if (shop != null) {
                                             Environmental E = shop.addStoreInventory(I, 1, price);
                                             if (E != null)
@@ -7858,13 +7858,13 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                 case 85: // mpmloadshop
                 {
                     // if not mob
-                    ShopKeeper addHere = CMLib.coffeeShops().getShopKeeper(scripted);
+                    ShopKeeper addHere = CMLib.aetherShops().getShopKeeper(scripted);
                     if ((addHere == null) && (scripted instanceof Item))
-                        addHere = CMLib.coffeeShops().getShopKeeper(((Item) scripted).owner());
+                        addHere = CMLib.aetherShops().getShopKeeper(((Item) scripted).owner());
                     if ((addHere == null) && (scripted instanceof MOB))
-                        addHere = CMLib.coffeeShops().getShopKeeper(((MOB) scripted).location());
+                        addHere = CMLib.aetherShops().getShopKeeper(((MOB) scripted).location());
                     if (addHere == null)
-                        addHere = CMLib.coffeeShops().getShopKeeper(lastKnownLocation);
+                        addHere = CMLib.aetherShops().getShopKeeper(lastKnownLocation);
                     if (addHere != null) {
                         if (tt == null) {
                             tt = parseBits(script, si, "Cr");
@@ -7893,7 +7893,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                                     m.recoverPhyStats();
                                     m.recoverCharStats();
                                     m.resetToMaxState();
-                                    CoffeeShop shop = addHere.getShop();
+                                    AetherShop shop = addHere.getShop();
                                     if (shop != null) {
                                         Environmental E = shop.addStoreInventory(m, 1, price);
                                         if (E != null)
@@ -10255,7 +10255,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                             if (t != null) {
                                 if (t[1].startsWith("ANY") || t[1].startsWith("ALL"))
                                     t[1] = t[1].trim();
-                                else if (!((Coins) msg.tool()).getCurrency().equals(CMLib.beanCounter().getCurrency(monster)))
+                                else if (!((Coins) msg.tool()).getCurrency().equals(CMLib.moneyCounter().getCurrency(monster)))
                                     break;
                                 double d = 0.0;
                                 if (CMath.isDouble(t[1]))
@@ -10453,7 +10453,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                                 str = msg.sourceMessage();
                             if (str == null)
                                 break;
-                            str = CMLib.coffeeFilter().fullOutFilter(null, monster, msg.source(), msg.target(), msg.tool(), str, false);
+                            str = CMLib.aetherFilter().fullOutFilter(null, monster, msg.source(), msg.target(), msg.tool(), str, false);
                             str = CMLib.english().stripPunctuation(CMStrings.removeColors(str));
                             str = " " + CMStrings.replaceAll(str, "\n\r", " ").toUpperCase().trim() + " ";
                             if ((t[1].length() == 0) || (t[1].equals("ALL")))
@@ -10527,7 +10527,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                                         str = msg.targetMessage();
                                     if (str == null)
                                         break;
-                                    str = CMLib.coffeeFilter().fullOutFilter(null, monster, msg.source(), msg.target(), msg.tool(), str, false).toUpperCase().trim();
+                                    str = CMLib.aetherFilter().fullOutFilter(null, monster, msg.source(), msg.target(), msg.tool(), str, false).toUpperCase().trim();
                                     int dex = str.indexOf("[" + channel + "]");
                                     if (dex > 0)
                                         str = str.substring(dex + 2 + channel.length()).trim();
@@ -10580,7 +10580,7 @@ public class DefaultScriptingEngine implements ScriptingEngine {
                                 str = msg.sourceMessage();
                             if (str == null)
                                 break;
-                            str = CMLib.coffeeFilter().fullOutFilter(null, monster, msg.source(), msg.target(), msg.tool(), str, false);
+                            str = CMLib.aetherFilter().fullOutFilter(null, monster, msg.source(), msg.target(), msg.tool(), str, false);
                             if (t == null)
                                 t = parseBits(script, 0, "Cp");
                             if (t != null) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/DefaultSession.java b/src/main/java/com/syncleus/aethermud/game/Common/DefaultSession.java
index 52872ec3e5..93043a7059 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/DefaultSession.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/DefaultSession.java
@@ -944,7 +944,7 @@ public class DefaultSession implements Session {
         try {
             if ((snoops.size() > 0) && (snoopSuspensionStack <= 0)) {
                 String msgColored;
-                final String preFix = CMLib.coffeeFilter().colorOnlyFilter("^Z" + ((mob == null) ? "?" : mob.Name()) + ":^N ", this);
+                final String preFix = CMLib.aetherFilter().colorOnlyFilter("^Z" + ((mob == null) ? "?" : mob.Name()) + ":^N ", this);
                 final int crCheck = msg.indexOf('\n');
                 if ((crCheck >= 0) && (crCheck < msg.length() - 2)) {
                     final StringBuffer buf = new StringBuffer(msg);
@@ -1067,13 +1067,13 @@ public class DefaultSession implements Session {
     public void safeRawPrint(String msg) {
         if (msg == null)
             return;
-        onlyPrint((needPrompt ? "" : "\n\r") + CMLib.coffeeFilter().mxpSafetyFilter(msg, this), false);
+        onlyPrint((needPrompt ? "" : "\n\r") + CMLib.aetherFilter().mxpSafetyFilter(msg, this), false);
         needPrompt = true;
     }
 
     @Override
     public void print(String msg) {
-        onlyPrint(CMLib.coffeeFilter().fullOutFilter(this, mob, mob, mob, null, msg, false), false);
+        onlyPrint(CMLib.aetherFilter().fullOutFilter(this, mob, mob, mob, null, msg, false), false);
     }
 
     @Override
@@ -1112,17 +1112,17 @@ public class DefaultSession implements Session {
 
     @Override
     public void stdPrint(String msg) {
-        rawPrint(CMLib.coffeeFilter().fullOutFilter(this, mob, mob, mob, null, msg, false));
+        rawPrint(CMLib.aetherFilter().fullOutFilter(this, mob, mob, mob, null, msg, false));
     }
 
     @Override
     public void print(Physical src, Environmental trg, Environmental tol, String msg) {
-        onlyPrint((CMLib.coffeeFilter().fullOutFilter(this, mob, src, trg, tol, msg, false)), false);
+        onlyPrint((CMLib.aetherFilter().fullOutFilter(this, mob, src, trg, tol, msg, false)), false);
     }
 
     @Override
     public void stdPrint(Physical src, Environmental trg, Environmental tol, String msg) {
-        rawPrint(CMLib.coffeeFilter().fullOutFilter(this, mob, src, trg, trg, msg, false));
+        rawPrint(CMLib.aetherFilter().fullOutFilter(this, mob, src, trg, trg, msg, false));
     }
 
     @Override
@@ -1134,14 +1134,14 @@ public class DefaultSession implements Session {
     @Override
     public void wraplessPrintln(String msg) {
         if (msg != null)
-            onlyPrint(CMLib.coffeeFilter().fullOutFilter(this, mob, mob, mob, null, msg, true) + "\n\r", false);
+            onlyPrint(CMLib.aetherFilter().fullOutFilter(this, mob, mob, mob, null, msg, true) + "\n\r", false);
         needPrompt = true;
     }
 
     @Override
     public void wraplessPrint(String msg) {
         if (msg != null)
-            onlyPrint(CMLib.coffeeFilter().fullOutFilter(this, mob, mob, mob, null, msg, true), false);
+            onlyPrint(CMLib.aetherFilter().fullOutFilter(this, mob, mob, mob, null, msg, true), false);
         needPrompt = true;
     }
 
@@ -1153,7 +1153,7 @@ public class DefaultSession implements Session {
     @Override
     public void colorOnlyPrintln(String msg, boolean noCache) {
         if (msg != null)
-            onlyPrint(CMLib.coffeeFilter().colorOnlyFilter(msg, this) + "\n\r", noCache);
+            onlyPrint(CMLib.aetherFilter().colorOnlyFilter(msg, this) + "\n\r", noCache);
         needPrompt = true;
     }
 
@@ -1165,26 +1165,26 @@ public class DefaultSession implements Session {
     @Override
     public void colorOnlyPrint(String msg, boolean noCache) {
         if (msg != null)
-            onlyPrint(CMLib.coffeeFilter().colorOnlyFilter(msg, this), noCache);
+            onlyPrint(CMLib.aetherFilter().colorOnlyFilter(msg, this), noCache);
         needPrompt = true;
     }
 
     @Override
     public void stdPrintln(String msg) {
         if (msg != null)
-            rawPrint(CMLib.coffeeFilter().fullOutFilter(this, mob, mob, mob, null, msg, false) + "\n\r");
+            rawPrint(CMLib.aetherFilter().fullOutFilter(this, mob, mob, mob, null, msg, false) + "\n\r");
     }
 
     @Override
     public void println(Physical src, Environmental trg, Environmental tol, String msg) {
         if (msg != null)
-            onlyPrint(CMLib.coffeeFilter().fullOutFilter(this, mob, src, trg, tol, msg, false) + "\n\r", false);
+            onlyPrint(CMLib.aetherFilter().fullOutFilter(this, mob, src, trg, tol, msg, false) + "\n\r", false);
     }
 
     @Override
     public void stdPrintln(Physical src, Environmental trg, Environmental tol, String msg) {
         if (msg != null)
-            rawPrint(CMLib.coffeeFilter().fullOutFilter(this, mob, src, trg, tol, msg, false) + "\n\r");
+            rawPrint(CMLib.aetherFilter().fullOutFilter(this, mob, src, trg, tol, msg, false) + "\n\r");
     }
 
     @Override
@@ -1818,7 +1818,7 @@ public class DefaultSession implements Session {
 
             final String str;
             if (filter)
-                str = CMLib.coffeeFilter().simpleInFilter(inStr, CMSecurity.isAllowed(mob, (mob != null) ? mob.location() : null, CMSecurity.SecFlag.MXPTAGS));
+                str = CMLib.aetherFilter().simpleInFilter(inStr, CMSecurity.isAllowed(mob, (mob != null) ? mob.location() : null, CMSecurity.SecFlag.MXPTAGS));
             else
                 str = inStr.toString();
             if (str == null)
@@ -1877,7 +1877,7 @@ public class DefaultSession implements Session {
         input.setLength(0);
         if (!sessionMCPCheck(inStr))
             return null;
-        final String str = CMLib.coffeeFilter().simpleInFilter(inStr, CMSecurity.isAllowed(mob, (mob != null) ? mob.location() : null, CMSecurity.SecFlag.MXPTAGS));
+        final String str = CMLib.aetherFilter().simpleInFilter(inStr, CMSecurity.isAllowed(mob, (mob != null) ? mob.location() : null, CMSecurity.SecFlag.MXPTAGS));
         if (str == null)
             return null;
         snoopSupportPrint(str + "\n\r", true);
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/interfaces/CoffeeShop.java b/src/main/java/com/syncleus/aethermud/game/Common/interfaces/AetherShop.java
similarity index 90%
rename from src/main/java/com/syncleus/aethermud/game/Common/interfaces/CoffeeShop.java
rename to src/main/java/com/syncleus/aethermud/game/Common/interfaces/AetherShop.java
index ed20f602ee..87152b1a93 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/interfaces/CoffeeShop.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/interfaces/AetherShop.java
@@ -25,7 +25,7 @@ import java.util.List;
 
 
 /**
- * A CoffeeShop is an object for storing the inventory of a shopkeeper, banker,
+ * A AetherShop is an object for storing the inventory of a shopkeeper, banker,
  * auctionhouse, merchant, or other object that implements the ShopKeeper interface
  * for the purpose of selling goods and services.
  *
@@ -41,7 +41,7 @@ import java.util.List;
  * @see com.syncleus.aethermud.game.core.interfaces.ShopKeeper#isSold(int)
  * @see com.syncleus.aethermud.game.core.interfaces.ShopKeeper#DEAL_INVENTORYONLY
  */
-public interface CoffeeShop extends CMCommon {
+public interface AetherShop extends CMCommon {
     /**
      * Returns whether an item sufficiently like the given item originally
      * existed in this shops inventory when it was created.  Applies only
@@ -56,7 +56,7 @@ public interface CoffeeShop extends CMCommon {
     /**
      * Adds a new item to the store inventory.  Use this method when an item is sold
      * to the store, as pricing and other information will have to be derived.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#addStoreInventory(Environmental, int, int)
+     * @see AetherShop#addStoreInventory(Environmental, int, int)
      * @param thisThang the thing to sell
      * @return the core store inventory item added
      */
@@ -74,7 +74,7 @@ public interface CoffeeShop extends CMCommon {
     /**
      * Returns the number of items this shop currently has for sale.  Does not
      * take number of duplicates into account.  For that call totalStockSizeIncludingDuplicates
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#totalStockSizeIncludingDuplicates()
+     * @see AetherShop#totalStockSizeIncludingDuplicates()
      * @return the number of items for sale.
      */
     public int totalStockSize();
@@ -144,7 +144,7 @@ public interface CoffeeShop extends CMCommon {
     /**
      * The number of items in the store inventory, taking number in stock into account.
      * Call this method to see how crowded the shop really is, as opposed to totalStockSize.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#totalStockSize()
+     * @see AetherShop#totalStockSize()
      * @return the total number of all items in stock
      */
     public int totalStockSizeIncludingDuplicates();
@@ -171,7 +171,7 @@ public interface CoffeeShop extends CMCommon {
      * will use as a foundation for determining the given items price.  -1 would mean
      * that the shopkeeper uses the valuation of the item as a basis, whereas another
      * value is in base gold.  Best to get likeThis item from the getStoreInventory()
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#getStoreInventory()
+     * @see AetherShop#getStoreInventory()
      * @param likeThis the item like which to compare
      * @return the stock price of the item given.
      */
@@ -180,7 +180,7 @@ public interface CoffeeShop extends CMCommon {
     /**
      * Returns the number of items like the one given that the shopkeeper presently
      * has in stock and available for sale.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#getStoreInventory()
+     * @see AetherShop#getStoreInventory()
      * @param likeThis the item like which to compare
      * @return the number currently in stock.
      */
@@ -188,7 +188,7 @@ public interface CoffeeShop extends CMCommon {
 
     /**
      * Searches this shops stock of items for sale for one matching the given name.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#getStoreInventory()
+     * @see AetherShop#getStoreInventory()
      * @param name the name of the item to search for
      * @param mob the mob who is interested (stock can differ depending on customer)
      * @return the available item, if found
@@ -199,7 +199,7 @@ public interface CoffeeShop extends CMCommon {
      * Searches this shops stock of items for sale for one matching the given name.
      * If one is found, it copies the item, removes one from the available stock, and
      * returns the copy.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#getStoreInventory()
+     * @see AetherShop#getStoreInventory()
      * @param name the name of the item to search for
      * @param mob the mob who is interested (stock can differ depending on customer)
      * @return the available item, if found
@@ -211,7 +211,7 @@ public interface CoffeeShop extends CMCommon {
      * If one is found, it copies the item, removes one from the available stock, and
      * prepares it for sale by adding it to a list along with any necessary accessories,
      * such as necessary keys, or if a container, any contents of the container.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#getStoreInventory()
+     * @see AetherShop#getStoreInventory()
      * @param named the name of the item to search for
      * @param mob the mob who is interested (stock can differ depending on customer)
      * @return the available items, if found, as a list of Environmental objects
@@ -220,8 +220,8 @@ public interface CoffeeShop extends CMCommon {
 
     /**
      * Generates an XML document of all available shop inventory, prices, and availability.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#getStoreInventory()
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#buildShopFromXML(String)
+     * @see AetherShop#getStoreInventory()
+     * @see AetherShop#buildShopFromXML(String)
      * @return an XML document.
      */
     public String makeXML();
@@ -229,7 +229,7 @@ public interface CoffeeShop extends CMCommon {
     /**
      * Repopulates this shop inventory from a given xml document, restoring store inventory,
      * base inventory, prices, and availability.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop#makeXML()
+     * @see AetherShop#makeXML()
      * @param text the xml document to restore from
      */
     public void buildShopFromXML(String text);
@@ -248,7 +248,7 @@ public interface CoffeeShop extends CMCommon {
      * @param SK the shopkeeper that hosts this object
      * @return always this
      */
-    public CoffeeShop build(ShopKeeper SK);
+    public AetherShop build(ShopKeeper SK);
 
     /**
      * Returns the shopKeeper that is hosting this shop
diff --git a/src/main/java/com/syncleus/aethermud/game/Common/interfaces/CoffeeTableRow.java b/src/main/java/com/syncleus/aethermud/game/Common/interfaces/AetherTableRow.java
similarity index 84%
rename from src/main/java/com/syncleus/aethermud/game/Common/interfaces/CoffeeTableRow.java
rename to src/main/java/com/syncleus/aethermud/game/Common/interfaces/AetherTableRow.java
index 5eed6e34f7..cce1816da7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Common/interfaces/CoffeeTableRow.java
+++ b/src/main/java/com/syncleus/aethermud/game/Common/interfaces/AetherTableRow.java
@@ -20,13 +20,13 @@ import com.syncleus.aethermud.game.core.interfaces.CMObject;
 
 
 /**
- * A CoffeeTableRow object represents a period of sustained statistics gathering.
+ * A AetherTableRow object represents a period of sustained statistics gathering.
  * The AetherMud engine keeps counters on all manner of different game events,
- * such as logins, new players, levels, deaths, and others.  CoffeeTableRows
- * are managed by the CoffeeTables library.
+ * such as logins, new players, levels, deaths, and others.  AetherTableRows
+ * are managed by the AetherTables library.
  * @see com.syncleus.aethermud.game.Libraries.interfaces.StatisticsLibrary
  */
-public interface CoffeeTableRow extends CMCommon {
+public interface AetherTableRow extends CMCommon {
     /** a constant index into statistics for login events */
     public final int STAT_LOGINS = 0;
     /** a constant index into statistics for a tick event*/
@@ -76,28 +76,28 @@ public interface CoffeeTableRow extends CMCommon {
 
     /**
      * The start time, in millis since 1970, for this row of data
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#setStartTime(long)
+     * @see AetherTableRow#setStartTime(long)
      * @return the start time in millis
      */
     public long startTime();
 
     /**
      * The end time, in millis since 1970, for this row of data
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#setEndTime(long)
+     * @see AetherTableRow#setEndTime(long)
      * @return the end time in millis
      */
     public long endTime();
 
     /**
      * Sets the start time, in millis since 1970, for this row of data
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#startTime()
+     * @see AetherTableRow#startTime()
      * @param time the start time in millis
      */
     public void setStartTime(long time);
 
     /**
      * Sets the end time, in millis since 1970, for this row of data
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#endTime()
+     * @see AetherTableRow#endTime()
      * @param time the end time in millis
      */
     public void setEndTime(long time);
@@ -111,7 +111,7 @@ public interface CoffeeTableRow extends CMCommon {
     /**
      * Returns the cumulative number online during this period per poll.
      * Used to calulate the avg online for the period.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#numberOnlineCounter()
+     * @see AetherTableRow#numberOnlineCounter()
      * @return the cumulative number online during this period per poll
      */
     public long numberOnlineTotal();
@@ -119,21 +119,21 @@ public interface CoffeeTableRow extends CMCommon {
     /**
      * Returns the number of times the number of players online has been
      * polled during this period.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#numberOnlineTotal()
+     * @see AetherTableRow#numberOnlineTotal()
      * @return number of times the number of players online has been polled
      */
     public long numberOnlineCounter();
 
     /**
      * Returns an XML document representing all the information in this object.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#populate(long, long, String)
+     * @see AetherTableRow#populate(long, long, String)
      * @return an xml document
      */
     public String data();
 
     /**
      * Populates this object from an xml document containing relevant statistics.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#data()
+     * @see AetherTableRow#data()
      * @param start the start time, in millis, for this row of data
      * @param end the end time, in millis, for this row of data
      * @param data the statistics and data for this row, as xml
@@ -143,7 +143,7 @@ public interface CoffeeTableRow extends CMCommon {
     /**
      * Finds a named statistic of the given name, and increments the value
      * of that long statistic by 1.  Requires the event being recorded.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#STAT_LOGINS
+     * @see AetherTableRow#STAT_LOGINS
      * @param s the named statistic to record for the given event
      * @param type the type of event to tabulate
      */
@@ -154,7 +154,7 @@ public interface CoffeeTableRow extends CMCommon {
      * (usually MOB or Ability) and adds to the relevant statistics.
      * Requires the Environmental object to query, and the event being
      * recorded.
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#STAT_LOGINS
+     * @see AetherTableRow#STAT_LOGINS
      * @param E the mob or ability
      * @param type the type of event to tabulate
      */
@@ -171,7 +171,7 @@ public interface CoffeeTableRow extends CMCommon {
     /**
      * Loops through adding all the event stats for the given code string
      * together
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow#STAT_TOTAL
+     * @see AetherTableRow#STAT_TOTAL
      * @param code the code string to use, or *
      * @param tot the running total of all events stats
      */
diff --git a/src/main/java/com/syncleus/aethermud/game/Exits/GenExit.java b/src/main/java/com/syncleus/aethermud/game/Exits/GenExit.java
index a2874edadc..12164d11a0 100644
--- a/src/main/java/com/syncleus/aethermud/game/Exits/GenExit.java
+++ b/src/main/java/com/syncleus/aethermud/game/Exits/GenExit.java
@@ -81,12 +81,12 @@ public class GenExit extends StdExit implements Modifiable {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
         isOpen = !doorDefaultsClosed;
         isLocked = doorDefaultsLocked;
@@ -297,7 +297,7 @@ public class GenExit extends StdExit implements Modifiable {
             case 7:
                 return "" + isReadable(); // isreadable
             case 8:
-                return CMLib.coffeeMaker().getExtraEnvPropertiesStr(this); // affbehav
+                return CMLib.aetherMaker().getExtraEnvPropertiesStr(this); // affbehav
             case 9:
                 return "" + basePhyStats().disposition(); // disposition
             case 10:
@@ -353,7 +353,7 @@ public class GenExit extends StdExit implements Modifiable {
             case 8: { // affbehav
                 delAllEffects(true);
                 delAllBehaviors();
-                CMLib.coffeeMaker().setExtraEnvProperties(this, CMLib.xml().parseAllXML(val)); // affbehav
+                CMLib.aetherMaker().setExtraEnvProperties(this, CMLib.xml().parseAllXML(val)); // affbehav
                 break;
             } // affbehav
             case 9: { // disposition
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Armor/GenArmor.java b/src/main/java/com/syncleus/aethermud/game/Items/Armor/GenArmor.java
index 85c0b67cb6..b8fb216dc7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Armor/GenArmor.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Armor/GenArmor.java
@@ -61,7 +61,7 @@ public class GenArmor extends StdArmor {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -87,14 +87,14 @@ public class GenArmor extends StdArmor {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -121,8 +121,8 @@ public class GenArmor extends StdArmor {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Armor/GenThinArmor.java b/src/main/java/com/syncleus/aethermud/game/Items/Armor/GenThinArmor.java
index 915edcdf64..5a7f9567be 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Armor/GenThinArmor.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Armor/GenThinArmor.java
@@ -60,7 +60,7 @@ public class GenThinArmor extends StdThinArmor {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -76,14 +76,14 @@ public class GenThinArmor extends StdThinArmor {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + getClothingLayer();
@@ -96,8 +96,8 @@ public class GenThinArmor extends StdThinArmor {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenAmmunition.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenAmmunition.java
index 78d60126fd..abedde5649 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenAmmunition.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenAmmunition.java
@@ -54,7 +54,7 @@ public class GenAmmunition extends StdItem implements Ammunition {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -92,7 +92,7 @@ public class GenAmmunition extends StdItem implements Ammunition {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenBook.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenBook.java
index 5c0f49fff0..83975d5e4a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenBook.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenBook.java
@@ -51,7 +51,7 @@ public class GenBook extends StdBook {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -76,21 +76,21 @@ public class GenBook extends StdBook {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCage.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCage.java
index e95faebc24..c2c4adc289 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCage.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCage.java
@@ -76,20 +76,20 @@ public class GenCage extends StdCage {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -112,8 +112,8 @@ public class GenCage extends StdCage {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCageRideable.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCageRideable.java
index bdbffea1a9..66a98ebccd 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCageRideable.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCageRideable.java
@@ -58,7 +58,7 @@ public class GenCageRideable extends StdCageRideable {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -74,14 +74,14 @@ public class GenCageRideable extends StdCageRideable {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -108,8 +108,8 @@ public class GenCageRideable extends StdCageRideable {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCaged.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCaged.java
index 909b4e535a..f79f95b37d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCaged.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCaged.java
@@ -76,7 +76,7 @@ public class GenCaged extends GenItem implements CagedAnimal {
         itemstr.append("<MOBITEM>");
         itemstr.append(CMLib.xml().convertXMLtoTag("MICLASS", CMClass.classID(M)));
         itemstr.append(CMLib.xml().convertXMLtoTag("MISTART", CMLib.map().getExtendedRoomID(M.getStartRoom())));
-        itemstr.append(CMLib.xml().convertXMLtoTag("MIDATA", CMLib.coffeeMaker().getPropertiesStr(M, true)));
+        itemstr.append(CMLib.xml().convertXMLtoTag("MIDATA", CMLib.aetherMaker().getPropertiesStr(M, true)));
         itemstr.append("</MOBITEM>");
         setCageText(itemstr.toString());
         recoverPhyStats();
@@ -131,12 +131,12 @@ public class GenCaged extends GenItem implements CagedAnimal {
             Log.errOut("Caged", "Error parsing 'MOBITEM' data.");
             return M;
         }
-        CMLib.coffeeMaker().setPropertiesStr(newOne, idat, true);
+        CMLib.aetherMaker().setPropertiesStr(newOne, idat, true);
         M = (MOB) newOne;
         M.basePhyStats().setRejuv(PhyStats.NO_REJUV);
         M.setStartRoom(null);
         if (M.isGeneric())
-            CMLib.coffeeMaker().resetGenMOB(M, M.text());
+            CMLib.aetherMaker().resetGenMOB(M, M.text());
         if ((startr.length() > 0) && (!startr.equalsIgnoreCase("null"))) {
             final Room R = CMLib.map().getRoom(startr);
             if (R != null)
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCigar.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCigar.java
index 5011b952be..0035e938f0 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCigar.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCigar.java
@@ -71,27 +71,27 @@ public class GenCigar extends StdSmokable {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCoins.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCoins.java
index d20e4806a2..1e86baa2a9 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCoins.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenCoins.java
@@ -44,7 +44,7 @@ public class GenCoins extends GenItem implements Coins {
         setMaterial(RawMaterial.RESOURCE_GOLD);
         setNumberOfCoins(100);
         setCurrency("");
-        setDenomination(CMLib.beanCounter().getLowestDenomination(""));
+        setDenomination(CMLib.moneyCounter().getLowestDenomination(""));
         setDescription("");
     }
 
@@ -60,12 +60,12 @@ public class GenCoins extends GenItem implements Coins {
 
     @Override
     public String Name() {
-        return CMLib.beanCounter().getDenominationName(getCurrency(), getDenomination(), getNumberOfCoins());
+        return CMLib.moneyCounter().getDenominationName(getCurrency(), getDenomination(), getNumberOfCoins());
     }
 
     @Override
     public String displayText() {
-        return CMLib.beanCounter().getDenominationName(getCurrency(), getDenomination(), getNumberOfCoins()) + ((getNumberOfCoins() == 1) ? " lies here." : " lie here.");
+        return CMLib.moneyCounter().getDenominationName(getCurrency(), getDenomination(), getNumberOfCoins()) + ((getNumberOfCoins() == 1) ? " lies here." : " lie here.");
     }
 
     @Override
@@ -87,7 +87,7 @@ public class GenCoins extends GenItem implements Coins {
                 }
             }
         }
-        setDescription(CMLib.beanCounter().getConvertableDescription(getCurrency(), getDenomination()));
+        setDescription(CMLib.moneyCounter().getConvertableDescription(getCurrency(), getDenomination()));
     }
 
     @Override
@@ -196,8 +196,8 @@ public class GenCoins extends GenItem implements Coins {
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + getNumberOfCoins();
@@ -212,8 +212,8 @@ public class GenCoins extends GenItem implements Coins {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenContainer.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenContainer.java
index 81cee73ede..9b84f12d31 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenContainer.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenContainer.java
@@ -73,20 +73,20 @@ public class GenContainer extends StdContainer {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return ID();
@@ -111,8 +111,8 @@ public class GenContainer extends StdContainer {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenDissertation.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenDissertation.java
index bb635ca952..9d0a84f7e5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenDissertation.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenDissertation.java
@@ -74,27 +74,27 @@ public class GenDissertation extends StdDissertation {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenDrink.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenDrink.java
index 656bfb0fd5..0fe7e9386b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenDrink.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenDrink.java
@@ -59,7 +59,7 @@ public class GenDrink extends StdDrink {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -100,14 +100,14 @@ public class GenDrink extends StdDrink {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -136,8 +136,8 @@ public class GenDrink extends StdDrink {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenFood.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenFood.java
index 143b75c122..c982f94227 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenFood.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenFood.java
@@ -56,7 +56,7 @@ public class GenFood extends StdFood {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -72,7 +72,7 @@ public class GenFood extends StdFood {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
@@ -83,8 +83,8 @@ public class GenFood extends StdFood {
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + nourishment();
@@ -97,8 +97,8 @@ public class GenFood extends StdFood {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenGrapples.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenGrapples.java
index f20b74c09d..9e6b952727 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenGrapples.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenGrapples.java
@@ -47,7 +47,7 @@ public class GenGrapples extends StdGrapples {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -63,21 +63,21 @@ public class GenGrapples extends StdGrapples {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenItem.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenItem.java
index f84344134c..0e1dc8560d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenItem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenItem.java
@@ -52,7 +52,7 @@ public class GenItem extends StdItem {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -68,21 +68,21 @@ public class GenItem extends StdItem {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenJournal.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenJournal.java
index a9085c173c..54ff913089 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenJournal.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenJournal.java
@@ -51,7 +51,7 @@ public class GenJournal extends StdJournal {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -76,21 +76,21 @@ public class GenJournal extends StdJournal {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLawBook.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLawBook.java
index 251ba638c5..c5c4178e25 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLawBook.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLawBook.java
@@ -51,7 +51,7 @@ public class GenLawBook extends StdLawBook {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -67,21 +67,21 @@ public class GenLawBook extends StdLawBook {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLightSource.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLightSource.java
index 95d6bda5df..e80ad1045e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLightSource.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLightSource.java
@@ -64,7 +64,7 @@ public class GenLightSource extends LightSource {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -80,21 +80,21 @@ public class GenLightSource extends LightSource {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLimb.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLimb.java
index bc9ff6b62e..197667e111 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLimb.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenLimb.java
@@ -46,7 +46,7 @@ public class GenLimb extends StdLimb {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -62,21 +62,21 @@ public class GenLimb extends StdLimb {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenMap.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenMap.java
index c00365fb76..ba91ce677a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenMap.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenMap.java
@@ -51,7 +51,7 @@ public class GenMap extends StdMap {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -82,21 +82,21 @@ public class GenMap extends StdMap {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPackagedItems.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPackagedItems.java
index d6a684562d..3c52df6355 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPackagedItems.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPackagedItems.java
@@ -120,7 +120,7 @@ public class GenPackagedItems extends GenItem implements PackagedItems {
         final StringBuffer itemstr = new StringBuffer("");
         itemstr.append("<PAKITEM>");
         itemstr.append(CMLib.xml().convertXMLtoTag("PICLASS", CMClass.classID(I)));
-        itemstr.append(CMLib.xml().convertXMLtoTag("PIDATA", CMLib.coffeeMaker().getPropertiesStr(I, true)));
+        itemstr.append(CMLib.xml().convertXMLtoTag("PIDATA", CMLib.aetherMaker().getPropertiesStr(I, true)));
         itemstr.append("</PAKITEM>");
         setPackageText(itemstr.toString());
         setNumberOfItemsInPackage(number);
@@ -170,7 +170,7 @@ public class GenPackagedItems extends GenItem implements PackagedItems {
             Log.errOut("Packaged", "Error parsing 'PAKITEM' data.");
             return null;
         }
-        CMLib.coffeeMaker().setPropertiesStr(newOne, idat, true);
+        CMLib.aetherMaker().setPropertiesStr(newOne, idat, true);
         return (Item) newOne;
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPackagedVariety.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPackagedVariety.java
index 13ef82092f..10e1122f19 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPackagedVariety.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPackagedVariety.java
@@ -86,7 +86,7 @@ public class GenPackagedVariety extends GenItem implements PackagedItems {
         itemstr.append("<PAKITEM>");
         itemstr.append(CMLib.xml().convertXMLtoTag("PINUM", "" + number));
         itemstr.append(CMLib.xml().convertXMLtoTag("PICLASS", CMClass.classID(I)));
-        itemstr.append(CMLib.xml().convertXMLtoTag("PIDATA", CMLib.coffeeMaker().getPropertiesStr(I, true)));
+        itemstr.append(CMLib.xml().convertXMLtoTag("PIDATA", CMLib.aetherMaker().getPropertiesStr(I, true)));
         itemstr.append("</PAKITEM>");
         setNumberOfItemsInPackage(this.numberOfItemsInPackage() + number);
         setPackageText(packageText() + itemstr.toString());
@@ -142,7 +142,7 @@ public class GenPackagedVariety extends GenItem implements PackagedItems {
             Log.errOut("Packaged", "Error parsing 'PAKITEM' data.");
             return null;
         }
-        CMLib.coffeeMaker().setPropertiesStr(newOne, idat, true);
+        CMLib.aetherMaker().setPropertiesStr(newOne, idat, true);
         return (Item) newOne;
     }
 
@@ -175,7 +175,7 @@ public class GenPackagedVariety extends GenItem implements PackagedItems {
                         final List<XMLLibrary.XMLTag> idat = iblk.getContentsFromPieces("PIDATA");
                         if ((idat != null) && (newOne != null) && (newOne instanceof Item)) {
                             Item I = (Item) newOne;
-                            CMLib.coffeeMaker().setPropertiesStr(newOne, idat, true);
+                            CMLib.aetherMaker().setPropertiesStr(newOne, idat, true);
                             for (int i = 0; i < numOfThese; i++) {
                                 if (number <= 0) {
                                     newXml.append("<PAKITEM>");
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPerfume.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPerfume.java
index 10b5be3284..9030463b0c 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPerfume.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPerfume.java
@@ -53,7 +53,7 @@ public class GenPerfume extends StdPerfume {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -83,14 +83,14 @@ public class GenPerfume extends StdPerfume {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -121,8 +121,8 @@ public class GenPerfume extends StdPerfume {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPortal.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPortal.java
index 8bc115da2e..290cb0868f 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPortal.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenPortal.java
@@ -58,7 +58,7 @@ public class GenPortal extends StdPortal {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -99,14 +99,14 @@ public class GenPortal extends StdPortal {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -149,8 +149,8 @@ public class GenPortal extends StdPortal {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenRecipe.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenRecipe.java
index e95089cc5b..6cad9095da 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenRecipe.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenRecipe.java
@@ -152,8 +152,8 @@ public class GenRecipe extends GenReadable implements Recipe {
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + getCommonSkillID();
@@ -175,8 +175,8 @@ public class GenRecipe extends GenReadable implements Recipe {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenRideable.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenRideable.java
index d9e42a1e25..a2618b13ae 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenRideable.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenRideable.java
@@ -55,7 +55,7 @@ public class GenRideable extends StdRideable {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -81,14 +81,14 @@ public class GenRideable extends StdRideable {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -115,8 +115,8 @@ public class GenRideable extends StdRideable {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenSailingShip.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenSailingShip.java
index ab81d6d928..89b07bc197 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenSailingShip.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenSailingShip.java
@@ -2106,8 +2106,8 @@ public class GenSailingShip extends StdBoardable implements SailingShip {
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -2124,7 +2124,7 @@ public class GenSailingShip extends StdBoardable implements SailingShip {
             case 6:
                 return "" + riderCapacity();
             case 7:
-                return CMLib.coffeeMaker().getAreaObjectXML(getShipArea(), null, null, null, true).toString();
+                return CMLib.aetherMaker().getAreaObjectXML(getShipArea(), null, null, null, true).toString();
             case 8:
                 return getOwnerName();
             case 9:
@@ -2148,8 +2148,8 @@ public class GenSailingShip extends StdBoardable implements SailingShip {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenSpaceBody.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenSpaceBody.java
index 098ffe8b81..6dad79e957 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenSpaceBody.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenSpaceBody.java
@@ -49,7 +49,7 @@ public class GenSpaceBody extends StdSpaceBody {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -65,14 +65,14 @@ public class GenSpaceBody extends StdSpaceBody {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + CMParms.toListString(direction());
@@ -89,8 +89,8 @@ public class GenSpaceBody extends StdSpaceBody {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenTitle.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenTitle.java
index 2d9f30ebf5..d89a7596f1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenTitle.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenTitle.java
@@ -50,7 +50,7 @@ public class GenTitle extends StdTitle {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -77,21 +77,21 @@ public class GenTitle extends StdTitle {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenTub.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenTub.java
index 9deb5b667c..073b242e73 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenTub.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenTub.java
@@ -53,7 +53,7 @@ public class GenTub extends StdTub {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -69,14 +69,14 @@ public class GenTub extends StdTub {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -109,8 +109,8 @@ public class GenTub extends StdTub {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenWallpaper.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenWallpaper.java
index 0bc11ae489..b39a555a48 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenWallpaper.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/GenWallpaper.java
@@ -373,7 +373,7 @@ public class GenWallpaper implements Item {
         if (V != null) {
             setName(CMLib.xml().getValFromPieces(V, "NAME"));
             setDescription(CMLib.xml().getValFromPieces(V, "DESC"));
-            CMLib.coffeeMaker().setEnvFlags(this, CMath.s_int(CMLib.xml().getValFromPieces(V, "FLAG")));
+            CMLib.aetherMaker().setEnvFlags(this, CMath.s_int(CMLib.xml().getValFromPieces(V, "FLAG")));
             setReadableText(CMLib.xml().getValFromPieces(V, "READ"));
         }
     }
@@ -383,7 +383,7 @@ public class GenWallpaper implements Item {
         final StringBuffer text = new StringBuffer("");
         text.append(CMLib.xml().convertXMLtoTag("NAME", Name()));
         text.append(CMLib.xml().convertXMLtoTag("DESC", description()));
-        text.append(CMLib.xml().convertXMLtoTag("FLAG", CMLib.coffeeMaker().envFlags(this)));
+        text.append(CMLib.xml().convertXMLtoTag("FLAG", CMLib.aetherMaker().envFlags(this)));
         text.append(CMLib.xml().convertXMLtoTag("READ", readableText()));
         return text.toString();
     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdBoardable.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdBoardable.java
index f52be4321e..c55e988af6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdBoardable.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdBoardable.java
@@ -134,7 +134,7 @@ public class StdBoardable extends StdPortal implements PrivateProperty, Boardabl
     public void setShipArea(String xml) {
         try {
             internalPrice = 0;
-            area = CMLib.coffeeMaker().unpackAreaObjectFromXML(xml);
+            area = CMLib.aetherMaker().unpackAreaObjectFromXML(xml);
             if (area instanceof BoardableShip) {
                 area.setSavable(false);
                 ((BoardableShip) area).setDockableItem(this);
@@ -226,13 +226,13 @@ public class StdBoardable extends StdPortal implements PrivateProperty, Boardabl
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
@@ -241,7 +241,7 @@ public class StdBoardable extends StdPortal implements PrivateProperty, Boardabl
         final StdBoardable s = (StdBoardable) super.copyOf();
         s.destroyed = false;
         s.setOwnerName("");
-        final String xml = CMLib.coffeeMaker().getAreaObjectXML(getShipArea(), null, null, null, true).toString();
+        final String xml = CMLib.aetherMaker().getAreaObjectXML(getShipArea(), null, null, null, true).toString();
         s.setShipArea(xml);
         s.setReadableText(readableText()); // in case this was first call to getShipArea()
         /* Should we rename?
@@ -373,7 +373,7 @@ public class StdBoardable extends StdPortal implements PrivateProperty, Boardabl
             String oldName = area.Name();
             ((BoardableShip) area).renameShip(newName);
             renameDestinationRooms(oldName, area.Name());
-            setShipArea(CMLib.coffeeMaker().getAreaObjectXML(area, null, null, null, true).toString());
+            setShipArea(CMLib.aetherMaker().getAreaObjectXML(area, null, null, null, true).toString());
         }
         for (final String word : new String[]{"NAME", "NEWNAME", "SHIPNAME", "SHIP"}) {
             for (final String rubs : new String[]{"<>", "[]", "{}", "()"}) {
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdCoins.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdCoins.java
index 4c8835cc0d..cfe54ae241 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdCoins.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdCoins.java
@@ -59,12 +59,12 @@ public class StdCoins extends StdItem implements Coins {
 
     @Override
     public String Name() {
-        return CMLib.beanCounter().getDenominationName(getCurrency(), getDenomination(), getNumberOfCoins());
+        return CMLib.moneyCounter().getDenominationName(getCurrency(), getDenomination(), getNumberOfCoins());
     }
 
     @Override
     public String displayText() {
-        return CMLib.beanCounter().getDenominationName(getCurrency(), getDenomination(), getNumberOfCoins()) + ((getNumberOfCoins() == 1) ? " lies here." : " lie here.");
+        return CMLib.moneyCounter().getDenominationName(getCurrency(), getDenomination(), getNumberOfCoins()) + ((getNumberOfCoins() == 1) ? " lies here." : " lie here.");
     }
 
     public void setDynamicMaterial() {
@@ -81,7 +81,7 @@ public class StdCoins extends StdItem implements Coins {
                 }
             }
         }
-        setDescription(CMLib.beanCounter().getConvertableDescription(getCurrency(), getDenomination()));
+        setDescription(CMLib.moneyCounter().getConvertableDescription(getCurrency(), getDenomination()));
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdItem.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdItem.java
index 01aa04397f..f6bf84602b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdItem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdItem.java
@@ -933,7 +933,7 @@ public class StdItem implements Item {
                         return true;
                     break;
                 case CMMsg.TYP_LIST:
-                    if (CMLib.coffeeShops().getShopKeeper(this) != null)
+                    if (CMLib.aetherShops().getShopKeeper(this) != null)
                         return true;
                     break;
                 case CMMsg.TYP_RELOAD:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdTitle.java b/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdTitle.java
index 3d95764395..19cdebd0d2 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdTitle.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Basic/StdTitle.java
@@ -348,7 +348,7 @@ public class StdTitle extends StdItem implements LandTitle {
             && (msg.tool() == this)) {
             final PrivateProperty P = this.fetchAPropertyRecord();
             if ((P != null) && (P.getOwnerName().length() > 0)) {
-                final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(msg.target());
+                final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(msg.target());
                 if (((SK.isSold(ShopKeeper.DEAL_CLANBANKER) || SK.isSold(ShopKeeper.DEAL_CLANDSELLER) || SK.isSold(ShopKeeper.DEAL_CSHIPSELLER))
                     && (msg.source().getClanRole(P.getOwnerName()) == null))
                     || (((SK.isSold(ShopKeeper.DEAL_BANKER)) || (SK.isSold(ShopKeeper.DEAL_CLANBANKER)))
@@ -381,7 +381,7 @@ public class StdTitle extends StdItem implements LandTitle {
                     CMLib.commands().postSay((MOB) msg.target(), msg.source(), str, false, false);
                 else
                     ((MOB) msg.target()).tell(L("@x1 You might want to tell the customer.", str));
-                final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(msg.target());
+                final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(msg.target());
                 if (SK != null)
                     SK.getShop().removeStock(msg.tool().Name(), msg.source());
                 destroy();
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecContainer.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecContainer.java
index 2135248997..ad66ae480a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecContainer.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecContainer.java
@@ -55,7 +55,7 @@ public class GenElecContainer extends StdElecContainer {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -71,14 +71,14 @@ public class GenElecContainer extends StdElecContainer {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + techLevel();
@@ -111,8 +111,8 @@ public class GenElecContainer extends StdElecContainer {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecItem.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecItem.java
index 135af4c348..15364b3e7f 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecItem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecItem.java
@@ -54,7 +54,7 @@ public class GenElecItem extends StdElecItem {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -70,14 +70,14 @@ public class GenElecItem extends StdElecItem {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + this.techLevel();
@@ -96,8 +96,8 @@ public class GenElecItem extends StdElecItem {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecPanel.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecPanel.java
index 4886edd066..ffbae753b9 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecPanel.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecPanel.java
@@ -56,7 +56,7 @@ public class GenElecPanel extends StdElecPanel {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -72,14 +72,14 @@ public class GenElecPanel extends StdElecPanel {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -112,8 +112,8 @@ public class GenElecPanel extends StdElecPanel {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecWeapon.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecWeapon.java
index 3addf8abdd..7f6a599dca 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecWeapon.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenElecWeapon.java
@@ -47,7 +47,7 @@ public class GenElecWeapon extends StdElecWeapon {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -63,14 +63,14 @@ public class GenElecWeapon extends StdElecWeapon {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + minRange();
@@ -97,8 +97,8 @@ public class GenElecWeapon extends StdElecWeapon {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenPersonalShield.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenPersonalShield.java
index e36d34bcc3..847dae2174 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenPersonalShield.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenPersonalShield.java
@@ -46,7 +46,7 @@ public class GenPersonalShield extends StdPersonalShield {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -62,14 +62,14 @@ public class GenPersonalShield extends StdPersonalShield {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -92,8 +92,8 @@ public class GenPersonalShield extends StdPersonalShield {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenSpaceShip.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenSpaceShip.java
index 8f991a28fb..1d4353124a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenSpaceShip.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenSpaceShip.java
@@ -649,8 +649,8 @@ public class GenSpaceShip extends StdBoardable implements Electronics, SpaceShip
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -675,7 +675,7 @@ public class GenSpaceShip extends StdBoardable implements Electronics, SpaceShip
             case 10:
                 return getManufacturerName();
             case 11:
-                return CMLib.coffeeMaker().getAreaObjectXML(getShipArea(), null, null, null, true).toString();
+                return CMLib.aetherMaker().getAreaObjectXML(getShipArea(), null, null, null, true).toString();
             case 12:
                 return CMParms.toListString(coordinates());
             case 13:
@@ -713,8 +713,8 @@ public class GenSpaceShip extends StdBoardable implements Electronics, SpaceShip
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenSpaceTech.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenSpaceTech.java
index e928b6455b..c2f33eb92c 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenSpaceTech.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenSpaceTech.java
@@ -48,7 +48,7 @@ public class GenSpaceTech extends StdSpaceTech {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -64,14 +64,14 @@ public class GenSpaceTech extends StdSpaceTech {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + techLevel();
@@ -90,8 +90,8 @@ public class GenSpaceTech extends StdSpaceTech {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTechItem.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTechItem.java
index 6d9f67e75b..9281b8c970 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTechItem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTechItem.java
@@ -54,7 +54,7 @@ public class GenTechItem extends StdTechItem {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -70,14 +70,14 @@ public class GenTechItem extends StdTechItem {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + techLevel();
@@ -88,8 +88,8 @@ public class GenTechItem extends StdTechItem {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTickerShield.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTickerShield.java
index 6e3a337aff..b74d06361e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTickerShield.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTickerShield.java
@@ -211,7 +211,7 @@ public class GenTickerShield extends StdElecItem implements Armor {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -227,14 +227,14 @@ public class GenTickerShield extends StdElecItem implements Armor {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -257,8 +257,8 @@ public class GenTickerShield extends StdElecItem implements Armor {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTriCorder.java b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTriCorder.java
index 50ae46f19c..4186a4f12e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTriCorder.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/BasicTech/GenTriCorder.java
@@ -44,20 +44,20 @@ public class GenTriCorder extends StdTriCorder {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -76,8 +76,8 @@ public class GenTriCorder extends StdTriCorder {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanApron.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanApron.java
index 36d93af3ca..736f77e125 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanApron.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanApron.java
@@ -64,7 +64,7 @@ public class GenClanApron extends StdClanApron {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -80,14 +80,14 @@ public class GenClanApron extends StdClanApron {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return clanID();
@@ -100,8 +100,8 @@ public class GenClanApron extends StdClanApron {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCard.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCard.java
index 804bc2f97e..cf35e513b7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCard.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCard.java
@@ -66,7 +66,7 @@ public class GenClanCard extends StdClanCard {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -82,14 +82,14 @@ public class GenClanCard extends StdClanCard {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return clanID();
@@ -102,8 +102,8 @@ public class GenClanCard extends StdClanCard {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCommonContainer.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCommonContainer.java
index b3c5dadce4..f8749219e7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCommonContainer.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCommonContainer.java
@@ -88,20 +88,20 @@ public class GenClanCommonContainer extends StdClanCommonContainer {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -128,8 +128,8 @@ public class GenClanCommonContainer extends StdClanCommonContainer {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCommonItem.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCommonItem.java
index 1296eeface..fc37800e8a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCommonItem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanCommonItem.java
@@ -66,7 +66,7 @@ public class GenClanCommonItem extends StdClanCommonItem {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -83,14 +83,14 @@ public class GenClanCommonItem extends StdClanCommonItem {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return clanID();
@@ -103,8 +103,8 @@ public class GenClanCommonItem extends StdClanCommonItem {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanContainer.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanContainer.java
index 651da3c529..c01bc87bfc 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanContainer.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanContainer.java
@@ -88,20 +88,20 @@ public class GenClanContainer extends StdClanContainer {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -128,8 +128,8 @@ public class GenClanContainer extends StdClanContainer {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanDonationList.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanDonationList.java
index 4c6eb8f61b..f1e0a09739 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanDonationList.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanDonationList.java
@@ -62,7 +62,7 @@ public class GenClanDonationList extends StdClanDonationList {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -78,14 +78,14 @@ public class GenClanDonationList extends StdClanDonationList {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return clanID();
@@ -98,8 +98,8 @@ public class GenClanDonationList extends StdClanDonationList {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanFlag.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanFlag.java
index f9bbc9a63e..16600cb70d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanFlag.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanFlag.java
@@ -66,7 +66,7 @@ public class GenClanFlag extends StdClanFlag {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -82,14 +82,14 @@ public class GenClanFlag extends StdClanFlag {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return clanID();
@@ -102,8 +102,8 @@ public class GenClanFlag extends StdClanFlag {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanItem.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanItem.java
index a22d6addb4..a17200791d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanItem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanItem.java
@@ -66,7 +66,7 @@ public class GenClanItem extends StdClanItem {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -82,14 +82,14 @@ public class GenClanItem extends StdClanItem {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return clanID();
@@ -102,8 +102,8 @@ public class GenClanItem extends StdClanItem {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanPamphlet.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanPamphlet.java
index 9e888ef6ce..8b34ed971b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanPamphlet.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanPamphlet.java
@@ -66,7 +66,7 @@ public class GenClanPamphlet extends StdClanPamphlet {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -82,14 +82,14 @@ public class GenClanPamphlet extends StdClanPamphlet {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return clanID();
@@ -102,8 +102,8 @@ public class GenClanPamphlet extends StdClanPamphlet {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanSpecialItem.java b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanSpecialItem.java
index 5ff3417dbe..08732c3ee5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanSpecialItem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/ClanItems/GenClanSpecialItem.java
@@ -66,7 +66,7 @@ public class GenClanSpecialItem extends StdClanSpecialItem {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -82,14 +82,14 @@ public class GenClanSpecialItem extends StdClanSpecialItem {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return clanID();
@@ -102,8 +102,8 @@ public class GenClanSpecialItem extends StdClanSpecialItem {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else {
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenCompBattery.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenCompBattery.java
index f40405f671..0a3da61c11 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenCompBattery.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenCompBattery.java
@@ -50,20 +50,20 @@ public class GenCompBattery extends StdCompBattery implements PowerSource {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -84,8 +84,8 @@ public class GenCompBattery extends StdCompBattery implements PowerSource {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenCompGenerator.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenCompGenerator.java
index 4a34a9fccc..4763283b15 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenCompGenerator.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenCompGenerator.java
@@ -54,7 +54,7 @@ public class GenCompGenerator extends StdCompGenerator {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -70,14 +70,14 @@ public class GenCompGenerator extends StdCompGenerator {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -123,8 +123,8 @@ public class GenCompGenerator extends StdCompGenerator {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenComputerConsole.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenComputerConsole.java
index d3ef4afed5..4fead22f4a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenComputerConsole.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenComputerConsole.java
@@ -49,7 +49,7 @@ public class GenComputerConsole extends StdComputerConsole {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -59,15 +59,15 @@ public class GenComputerConsole extends StdComputerConsole {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         basePhyStats.setSensesMask(basePhyStats.sensesMask() | PhyStats.SENSE_ITEMREADABLE);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -106,8 +106,8 @@ public class GenComputerConsole extends StdComputerConsole {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenElecCompItem.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenElecCompItem.java
index b8edea38b0..23c1c996c7 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenElecCompItem.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenElecCompItem.java
@@ -47,20 +47,20 @@ public class GenElecCompItem extends StdElecCompItem {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -81,8 +81,8 @@ public class GenElecCompItem extends StdElecCompItem {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenElecCompSensor.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenElecCompSensor.java
index 2143d7ac0e..30bd5c20e0 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenElecCompSensor.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenElecCompSensor.java
@@ -47,20 +47,20 @@ public class GenElecCompSensor extends StdElecCompSensor {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -81,8 +81,8 @@ public class GenElecCompSensor extends StdElecCompSensor {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenFuellessGenerator.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenFuellessGenerator.java
index 6d7b0e159d..a5214db420 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenFuellessGenerator.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenFuellessGenerator.java
@@ -48,7 +48,7 @@ public class GenFuellessGenerator extends StdCompFuellessGenerator {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -64,14 +64,14 @@ public class GenFuellessGenerator extends StdCompFuellessGenerator {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -94,8 +94,8 @@ public class GenFuellessGenerator extends StdCompFuellessGenerator {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipEngine.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipEngine.java
index 2666fcf272..14232512fb 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipEngine.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipEngine.java
@@ -57,7 +57,7 @@ public class GenShipEngine extends StdShipEngine {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -73,14 +73,14 @@ public class GenShipEngine extends StdShipEngine {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -138,8 +138,8 @@ public class GenShipEngine extends StdShipEngine {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipPanel.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipPanel.java
index 4f3139048a..6553f999ee 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipPanel.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipPanel.java
@@ -57,7 +57,7 @@ public class GenShipPanel extends StdCompPanel {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -73,14 +73,14 @@ public class GenShipPanel extends StdCompPanel {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -111,8 +111,8 @@ public class GenShipPanel extends StdCompPanel {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipShieldGenerator.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipShieldGenerator.java
index 01a575dc38..a3cd9339d6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipShieldGenerator.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipShieldGenerator.java
@@ -52,20 +52,20 @@ public class GenShipShieldGenerator extends StdShipShieldGenerator {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -99,8 +99,8 @@ public class GenShipShieldGenerator extends StdShipShieldGenerator {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipThruster.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipThruster.java
index 1fabe7e3b9..0e2f562791 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipThruster.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipThruster.java
@@ -58,7 +58,7 @@ public class GenShipThruster extends StdShipThruster {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -74,14 +74,14 @@ public class GenShipThruster extends StdShipThruster {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -137,8 +137,8 @@ public class GenShipThruster extends StdShipThruster {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipWeapon.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipWeapon.java
index 6c5d56db64..5f941ab729 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipWeapon.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenShipWeapon.java
@@ -52,20 +52,20 @@ public class GenShipWeapon extends StdShipWeapon {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -99,8 +99,8 @@ public class GenShipWeapon extends StdShipWeapon {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenSpaceDrive.java b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenSpaceDrive.java
index c17012a93d..14ae8a712f 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenSpaceDrive.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/CompTech/GenSpaceDrive.java
@@ -50,7 +50,7 @@ public class GenSpaceDrive extends StdShipFuellessThruster {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -66,14 +66,14 @@ public class GenSpaceDrive extends StdShipFuellessThruster {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + powerCapacity();
@@ -106,8 +106,8 @@ public class GenSpaceDrive extends StdShipFuellessThruster {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPill.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPill.java
index b854ab17f9..9e30bb9146 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPill.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPill.java
@@ -77,20 +77,20 @@ public class GenPill extends StdPill {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + nourishment();
@@ -101,8 +101,8 @@ public class GenPill extends StdPill {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPlayingCard.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPlayingCard.java
index a8f8f3a9a8..dd656da06e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPlayingCard.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPlayingCard.java
@@ -53,27 +53,27 @@ public class GenPlayingCard extends StdPlayingCard {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPotion.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPotion.java
index e6e9f3e62f..469c30bd17 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPotion.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPotion.java
@@ -77,20 +77,20 @@ public class GenPotion extends StdPotion {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + hasALock();
@@ -119,8 +119,8 @@ public class GenPotion extends StdPotion {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPowder.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPowder.java
index 2832a8b439..6bc6ceb67b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPowder.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenPowder.java
@@ -70,27 +70,27 @@ public class GenPowder extends StdPowder {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenScroll.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenScroll.java
index 22c9990ba0..5b75d078bc 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenScroll.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenScroll.java
@@ -74,27 +74,27 @@ public class GenScroll extends StdScroll {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenSuperPill.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenSuperPill.java
index 25c55fc4da..20cbb3f550 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenSuperPill.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenSuperPill.java
@@ -18,9 +18,9 @@ package com.syncleus.aethermud.game.Items.MiscMagic;
 
 import com.syncleus.aethermud.game.CharClasses.interfaces.CharClass;
 import com.syncleus.aethermud.game.Common.interfaces.AccountStats.PrideStat;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Common.interfaces.CMMsg;
 import com.syncleus.aethermud.game.Common.interfaces.CharStats;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
 import com.syncleus.aethermud.game.Common.interfaces.PhyStats;
 import com.syncleus.aethermud.game.Items.interfaces.ArchonOnly;
 import com.syncleus.aethermud.game.Items.interfaces.RawMaterial;
@@ -131,7 +131,7 @@ public class GenSuperPill extends GenPill implements ArchonOnly {
             if ((C != null) && (C.availabilityCode() != 0)) {
                 mob.baseCharStats().setCurrentClass(C);
                 if ((!mob.isMonster()) && (mob.soulMate() == null))
-                    CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_CLASSCHANGE);
+                    CMLib.aetherTables().bump(mob, AetherTableRow.STAT_CLASSCHANGE);
             }
         }
         if (CMParms.getParmPlus(readableText, "lev") != 0) {
@@ -186,7 +186,7 @@ public class GenSuperPill extends GenPill implements ArchonOnly {
             CMLib.players().bumpPrideStat(mob, PrideStat.QUESTPOINTS_EARNED, qp);
         final int newMoney = CMParms.getParmPlus(readableText, "coin");
         if (newMoney != 0)
-            CMLib.beanCounter().setMoney(mob, CMLib.beanCounter().getMoney(mob) + newMoney);
+            CMLib.moneyCounter().setMoney(mob, CMLib.moneyCounter().getMoney(mob) + newMoney);
         final int exp = CMParms.getParmPlus(readableText, "expe");
         if (exp != 0)
             CMLib.leveler().postExperience(mob, null, null, exp, false);
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenWand.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenWand.java
index f3e6933d30..0571384894 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenWand.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GenWand.java
@@ -92,27 +92,27 @@ public class GenWand extends StdWand {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GoodyBag.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GoodyBag.java
index 7103c891ef..e8ee2e43b9 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GoodyBag.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/GoodyBag.java
@@ -66,12 +66,12 @@ public class GoodyBag extends BagOfEndlessness implements ArchonOnly {
         if ((!alreadyFilled) && (owner() != null)) {
             alreadyFilled = true;
             if (!hasContent()) {
-                final List<String> V = CMLib.beanCounter().getAllCurrencies();
+                final List<String> V = CMLib.moneyCounter().getAllCurrencies();
                 for (int v = 0; v < V.size(); v++) {
                     final String currency = V.get(v);
-                    final MoneyLibrary.MoneyDenomination[] DV = CMLib.beanCounter().getCurrencySet(currency);
+                    final MoneyLibrary.MoneyDenomination[] DV = CMLib.moneyCounter().getCurrencySet(currency);
                     for (final MoneyDenomination element : DV) {
-                        final Coins C = CMLib.beanCounter().makeBestCurrency(currency, element.value(), owner(), this);
+                        final Coins C = CMLib.moneyCounter().makeBestCurrency(currency, element.value(), owner(), this);
                         if (C != null)
                             C.setNumberOfCoins(100);
                     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/ManualArchon.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/ManualArchon.java
index 9c72476283..107fbd43fd 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/ManualArchon.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/ManualArchon.java
@@ -73,7 +73,7 @@ public class ManualArchon extends StdItem implements MiscMagic, ArchonOnly {
                             for (final int i : CharStats.CODES.BASECODES())
                                 mob.baseCharStats().setStat(i, 25);
                             if ((!mob.isMonster()) && (mob.soulMate() == null))
-                                CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_CLASSCHANGE);
+                                CMLib.aetherTables().bump(mob, AetherTableRow.STAT_CLASSCHANGE);
                             mob.recoverCharStats();
                             if ((!mob.charStats().getCurrentClass().leveless())
                                 && (!mob.charStats().isLevelCapped(mob.charStats().getCurrentClass()))
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/ManualClasses.java b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/ManualClasses.java
index 3126d0496d..676a2e39ed 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/ManualClasses.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/MiscMagic/ManualClasses.java
@@ -17,8 +17,8 @@
 package com.syncleus.aethermud.game.Items.MiscMagic;
 
 import com.syncleus.aethermud.game.CharClasses.interfaces.CharClass;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Common.interfaces.CMMsg;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
 import com.syncleus.aethermud.game.Items.Basic.StdItem;
 import com.syncleus.aethermud.game.Items.interfaces.ArchonOnly;
 import com.syncleus.aethermud.game.Items.interfaces.MiscMagic;
@@ -80,7 +80,7 @@ public class ManualClasses extends StdItem implements MiscMagic, ArchonOnly {
                                 if ((thisC != null) && (!(thisC.ID().equals("Archon")))) {
                                     mob.charStats().setCurrentClass(thisC);
                                     if ((!mob.isMonster()) && (mob.soulMate() == null))
-                                        CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_CLASSCHANGE);
+                                        CMLib.aetherTables().bump(mob, AetherTableRow.STAT_CLASSCHANGE);
                                     mob.location().showOthers(mob, null, CMMsg.MSG_OK_ACTION, L("@x1 undergoes a traumatic change.", mob.name()));
                                     mob.tell(L("You are now a @x1.", thisC.name(mob.charStats().getClassLevel(thisC))));
                                 }
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Software/GenSoftware.java b/src/main/java/com/syncleus/aethermud/game/Items/Software/GenSoftware.java
index 1dc4af73ff..a4319ff8fd 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Software/GenSoftware.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Software/GenSoftware.java
@@ -46,7 +46,7 @@ public class GenSoftware extends StdProgram {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -62,21 +62,21 @@ public class GenSoftware extends StdProgram {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenBoffWeapon.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenBoffWeapon.java
index d2b0f547b7..c189268ca1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenBoffWeapon.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenBoffWeapon.java
@@ -60,7 +60,7 @@ public class GenBoffWeapon extends StdBoffWeapon {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -76,14 +76,14 @@ public class GenBoffWeapon extends StdBoffWeapon {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
@@ -91,8 +91,8 @@ public class GenBoffWeapon extends StdBoffWeapon {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenBow.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenBow.java
index 5ff9e5521a..032375c0ca 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenBow.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenBow.java
@@ -50,7 +50,7 @@ public class GenBow extends StdBow {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -66,14 +66,14 @@ public class GenBow extends StdBow {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
@@ -81,8 +81,8 @@ public class GenBow extends StdBow {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenHandBow.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenHandBow.java
index d761d01813..b941c9b9b5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenHandBow.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenHandBow.java
@@ -53,7 +53,7 @@ public class GenHandBow extends StdBow {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -69,14 +69,14 @@ public class GenHandBow extends StdBow {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
@@ -84,8 +84,8 @@ public class GenHandBow extends StdBow {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenLasso.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenLasso.java
index 30a3d0e81c..45bb361dd8 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenLasso.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenLasso.java
@@ -48,7 +48,7 @@ public class GenLasso extends StdLasso {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -64,14 +64,14 @@ public class GenLasso extends StdLasso {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
@@ -79,8 +79,8 @@ public class GenLasso extends StdLasso {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenNet.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenNet.java
index 6655fb4a18..cc50719fd1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenNet.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenNet.java
@@ -48,7 +48,7 @@ public class GenNet extends StdNet {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -64,14 +64,14 @@ public class GenNet extends StdNet {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
@@ -79,8 +79,8 @@ public class GenNet extends StdNet {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSiegeWeapon.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSiegeWeapon.java
index 77ef184de3..0ae716cedd 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSiegeWeapon.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSiegeWeapon.java
@@ -52,7 +52,7 @@ public class GenSiegeWeapon extends StdSiegeWeapon {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -78,14 +78,14 @@ public class GenSiegeWeapon extends StdSiegeWeapon {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         switch (getCodeNum(code)) {
@@ -114,8 +114,8 @@ public class GenSiegeWeapon extends StdSiegeWeapon {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSling.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSling.java
index 0e99d8bc81..38a2a162c1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSling.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSling.java
@@ -48,7 +48,7 @@ public class GenSling extends StdSling {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -64,14 +64,14 @@ public class GenSling extends StdSling {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
@@ -79,8 +79,8 @@ public class GenSling extends StdSling {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSpear.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSpear.java
index 913eb81b85..17b5d2562d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSpear.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenSpear.java
@@ -48,7 +48,7 @@ public class GenSpear extends StdSpear {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -64,14 +64,14 @@ public class GenSpear extends StdSpear {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
@@ -79,8 +79,8 @@ public class GenSpear extends StdSpear {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenWeapon.java b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenWeapon.java
index e713acd717..7a3ffa497e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenWeapon.java
+++ b/src/main/java/com/syncleus/aethermud/game/Items/Weapons/GenWeapon.java
@@ -113,7 +113,7 @@ public class GenWeapon extends StdWeapon {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, false);
+        return CMLib.aetherMaker().getPropertiesStr(this, false);
     }
 
     @Override
@@ -129,14 +129,14 @@ public class GenWeapon extends StdWeapon {
     @Override
     public void setMiscText(String newText) {
         miscText = "";
-        CMLib.coffeeMaker().setPropertiesStr(this, newText, false);
+        CMLib.aetherMaker().setPropertiesStr(this, newText, false);
         recoverPhyStats();
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenItemStat(this, code);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenItemStat(this, code);
         if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             return GenWeapon.getGenWeaponStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
@@ -144,8 +144,8 @@ public class GenWeapon extends StdWeapon {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenItemCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenItemStat(this, code, val);
+        if (CMLib.aetherMaker().getGenItemCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenItemStat(this, code, val);
         else if (GenWeapon.getGenWeaponCodeNum(code) >= 0)
             GenWeapon.setGenWeaponStat(this, code, val);
         else
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/Achievements.java b/src/main/java/com/syncleus/aethermud/game/Libraries/Achievements.java
index d2fec36248..8d3214db75 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/Achievements.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/Achievements.java
@@ -429,9 +429,9 @@ public class Achievements extends StdLibrary implements AchievementLibrary {
                                     return false;
                                 }
                             });
-                        } else if (CMLib.coffeeMaker().isAnyGenStat(CMClass.samplePlayer(), thing)) {
+                        } else if (CMLib.aetherMaker().isAnyGenStat(CMClass.samplePlayer(), thing)) {
                             final String stat1 = thing.toUpperCase().trim();
-                            String astat = CMLib.coffeeMaker().getFinalStatName(stat1);
+                            String astat = CMLib.aetherMaker().getFinalStatName(stat1);
                             boolean isSave = false;
                             for (int t : CharStats.CODES.SAVING_THROWS())
                                 isSave = isSave || CharStats.CODES.NAME(t).equals(astat.toUpperCase());
@@ -484,9 +484,9 @@ public class Achievements extends StdLibrary implements AchievementLibrary {
                         } else if (thing.toUpperCase().startsWith("ACCOUNT ")
                             && (CMClass.samplePlayer().playerStats() != null)
                             && (CMClass.samplePlayer().playerStats().getAccount() != null)
-                            && CMLib.coffeeMaker().isAnyGenStat(CMClass.samplePlayer(), thing.substring(8))) {
+                            && CMLib.aetherMaker().isAnyGenStat(CMClass.samplePlayer(), thing.substring(8))) {
                             final String stat1 = thing.toUpperCase().trim();
-                            String astat = CMLib.coffeeMaker().getFinalStatName(stat1);
+                            String astat = CMLib.aetherMaker().getFinalStatName(stat1);
                             boolean isSave = false;
                             for (int t : CharStats.CODES.SAVING_THROWS())
                                 isSave = isSave || CharStats.CODES.NAME(t).equals(astat.toUpperCase());
@@ -861,7 +861,7 @@ public class Achievements extends StdLibrary implements AchievementLibrary {
 
                             @Override
                             public int getCount(MOB mob) {
-                                return CMath.s_int(CMLib.coffeeMaker().getAnyGenStat(mob, statName));
+                                return CMath.s_int(CMLib.aetherMaker().getAnyGenStat(mob, statName));
                             }
 
                             @Override
@@ -897,7 +897,7 @@ public class Achievements extends StdLibrary implements AchievementLibrary {
                             return "Error: Missing or invalid ABOVEBELOW parameter: " + aboveBelow + "!";
                         this.abelo = aboveBelow.equals("ABOVE") ? 1 : -1;
                         final String statName = CMParms.getParmStr(parms, "STAT", "").toUpperCase().trim();
-                        if ((statName.length() == 0) || (!CMLib.coffeeMaker().isAnyGenStat(mob, statName)))
+                        if ((statName.length() == 0) || (!CMLib.aetherMaker().isAnyGenStat(mob, statName)))
                             return "Error: Missing or invalid STAT parameter: " + statName + "!";
                         this.statName = statName;
                         return "";
@@ -3121,8 +3121,8 @@ public class Achievements extends StdLibrary implements AchievementLibrary {
                         double denomination = CMLib.english().matchAnyDenomination(currency, aaward.getCurrency());
                         if (denomination != 0.0) {
                             double money = CMath.mul(aaward.getAmount(), denomination);
-                            CMLib.beanCounter().giveSomeoneMoney(mob, money);
-                            awardMessage.append(L("^HYou are awarded @x1!\n\r^?", CMLib.beanCounter().getDenominationName(currency, denomination, aaward.getAmount())));
+                            CMLib.moneyCounter().giveSomeoneMoney(mob, money);
+                            awardMessage.append(L("^HYou are awarded @x1!\n\r^?", CMLib.moneyCounter().getDenominationName(currency, denomination, aaward.getAmount())));
                         }
                     }
                     break;
@@ -3139,10 +3139,10 @@ public class Achievements extends StdLibrary implements AchievementLibrary {
                             mob.playerStats().getAccount().setStat(stat, "" + (CMath.s_int(value) + aaward.getAmount()));
                         }
                     } else {
-                        String value = CMLib.coffeeMaker().getAnyGenStat(mob, aaward.getStat());
+                        String value = CMLib.aetherMaker().getAnyGenStat(mob, aaward.getStat());
                         if (CMath.isNumber(value)) {
                             awardMessage.append(L("^HYou are awarded @x1!\n\r^?", aaward.getAmount() + " " + aaward.getStat()));
-                            CMLib.coffeeMaker().setAnyGenStat(mob, aaward.getStat(), "" + (CMath.s_int(value) + aaward.getAmount()));
+                            CMLib.aetherMaker().setAnyGenStat(mob, aaward.getStat(), "" + (CMath.s_int(value) + aaward.getAmount()));
                         }
                     }
                     break;
@@ -3248,12 +3248,12 @@ public class Achievements extends StdLibrary implements AchievementLibrary {
                             }
                         }
                     } else {
-                        String value = CMLib.coffeeMaker().getAnyGenStat(mob, aaward.getStat());
+                        String value = CMLib.aetherMaker().getAnyGenStat(mob, aaward.getStat());
                         if (CMath.isNumber(value)) {
                             int oldVal = CMath.s_int(value);
                             if (oldVal >= aaward.getAmount()) {
                                 awardMessage.append(L("^HYou have lost @x1!\n\r^?", aaward.getAmount() + " " + aaward.getStat()));
-                                CMLib.coffeeMaker().setAnyGenStat(mob, aaward.getStat(), "" + (CMath.s_int(value) - aaward.getAmount()));
+                                CMLib.aetherMaker().setAnyGenStat(mob, aaward.getStat(), "" + (CMath.s_int(value) - aaward.getAmount()));
                             }
                         }
                     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeFilter.java b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherFilter.java
similarity index 99%
rename from src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeFilter.java
rename to src/main/java/com/syncleus/aethermud/game/Libraries/AetherFilter.java
index 2db2d074b9..de9faf479a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeFilter.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherFilter.java
@@ -30,13 +30,13 @@ import java.util.Hashtable;
 import java.util.Map;
 
 
-public class CoffeeFilter extends StdLibrary implements TelnetFilter {
+public class AetherFilter extends StdLibrary implements TelnetFilter {
     private Hashtable<String, Pronoun> tagTable = null;
     private ColorState normalColor = null;
 
     @Override
     public String ID() {
-        return "CoffeeFilter";
+        return "AetherFilter";
     }
 
     @Override
@@ -89,7 +89,7 @@ public class CoffeeFilter extends StdLibrary implements TelnetFilter {
             }
         }
         if (CMSecurity.isDebugging(CMSecurity.DbgFlag.OUTPUT))
-            Log.debugOut("CoffeeFilter", "OUTPUT: ?: " + buf.toString());
+            Log.debugOut("AetherFilter", "OUTPUT: ?: " + buf.toString());
         return buf.toString();
     }
 
@@ -596,7 +596,7 @@ public class CoffeeFilter extends StdLibrary implements TelnetFilter {
             S.setCurrentColor(normalColor);
         }
         if (CMSecurity.isDebugging(CMSecurity.DbgFlag.OUTPUT))
-            Log.debugOut("CoffeeFilter", "OUTPUT: " + (((S != null) && (S.mob() != null)) ? S.mob().Name() : "") + ": " + buf.toString());
+            Log.debugOut("AetherFilter", "OUTPUT: " + (((S != null) && (S.mob() != null)) ? S.mob().Name() : "") + ": " + buf.toString());
         return buf.toString();
     }
 
@@ -660,7 +660,7 @@ public class CoffeeFilter extends StdLibrary implements TelnetFilter {
         }
 
         if (CMSecurity.isDebugging(CMSecurity.DbgFlag.OUTPUT))
-            Log.debugOut("CoffeeFilter", "OUTPUT: " + (((S != null) && (S.mob() != null)) ? S.mob().Name() : "") + ": " + buf.toString());
+            Log.debugOut("AetherFilter", "OUTPUT: " + (((S != null) && (S.mob() != null)) ? S.mob().Name() : "") + ": " + buf.toString());
         return buf.toString();
     }
 
@@ -720,8 +720,8 @@ public class CoffeeFilter extends StdLibrary implements TelnetFilter {
                 //BZ: delete when this is fixed.
                 //BZ: 11/2015 - this might be fixed now!
                 if (++loopDebugCtr > 5) {
-                    Log.debugOut("CoffeeFilter", "LOOP: " + loop + "/" + wrap + "/!" + (buf.charAt(loop) == '\033') + "!/" + lastSpace + "/" + firstAlpha + "/" + amperStop + "/" + doSagain + "/" + firstSdone + "/" + buf.length() + "/" + loopDebugCtr);
-                    Log.debugOut("CoffeeFilter", buf.toString());
+                    Log.debugOut("AetherFilter", "LOOP: " + loop + "/" + wrap + "/!" + (buf.charAt(loop) == '\033') + "!/" + lastSpace + "/" + firstAlpha + "/" + amperStop + "/" + doSagain + "/" + firstSdone + "/" + buf.length() + "/" + loopDebugCtr);
+                    Log.debugOut("AetherFilter", buf.toString());
                     break;
                 }
             } else {
@@ -1258,7 +1258,7 @@ public class CoffeeFilter extends StdLibrary implements TelnetFilter {
 		}
 		//*/
         if (CMSecurity.isDebugging(CMSecurity.DbgFlag.OUTPUT))
-            Log.debugOut("CoffeeFilter", "OUTPUT: " + (((S != null) && (S.mob() != null)) ? S.mob().Name() : "") + ": " + buf.toString());
+            Log.debugOut("AetherFilter", "OUTPUT: " + (((S != null) && (S.mob() != null)) ? S.mob().Name() : "") + ": " + buf.toString());
         return buf.toString();
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeLevels.java b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherLevels.java
similarity index 99%
rename from src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeLevels.java
rename to src/main/java/com/syncleus/aethermud/game/Libraries/AetherLevels.java
index e841df5b9e..17f1c2efa8 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeLevels.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherLevels.java
@@ -39,10 +39,10 @@ import com.syncleus.aethermud.game.core.interfaces.Physical;
 import java.util.*;
 
 
-public class CoffeeLevels extends StdLibrary implements ExpLevelLibrary {
+public class AetherLevels extends StdLibrary implements ExpLevelLibrary {
     @Override
     public String ID() {
-        return "CoffeeLevels";
+        return "AetherLevels";
     }
 
     public int getManaBonusNextLevel(MOB mob) {
@@ -477,7 +477,7 @@ public class CoffeeLevels extends StdLibrary implements ExpLevelLibrary {
                 for (int i = 0; i < channels2.size(); i++)
                     CMLib.commands().postChannel(channels2.get(i), mob.clans(), L("@x1 has just gained a level.", mob.Name()), true);
             if (mob.soulMate() == null)
-                CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_LEVELSGAINED);
+                CMLib.aetherTables().bump(mob, AetherTableRow.STAT_LEVELSGAINED);
         }
 
         int prac2Stat = mob.charStats().getStat(CharStats.STAT_WISDOM);
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeMaker.java b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherMaker.java
similarity index 98%
rename from src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeMaker.java
rename to src/main/java/com/syncleus/aethermud/game/Libraries/AetherMaker.java
index afe270d30b..5cc611644a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeMaker.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherMaker.java
@@ -44,10 +44,10 @@ import com.syncleus.aethermud.game.core.interfaces.*;
 import java.util.*;
 
 
-public class CoffeeMaker extends StdLibrary implements GenericBuilder {
+public class AetherMaker extends StdLibrary implements GenericBuilder {
     @Override
     public String ID() {
-        return "CoffeeMaker";
+        return "AetherMaker";
     }
 
     @Override
@@ -159,7 +159,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
     @Override
     public String getPropertiesStr(Environmental E, boolean fromTop) {
         if (E == null) {
-            Log.errOut("CoffeeMaker", "getPropertiesStr: null 'E'");
+            Log.errOut("AetherMaker", "getPropertiesStr: null 'E'");
             return "";
         }
         if (E instanceof SpaceObject) {
@@ -505,10 +505,10 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         }
 
         if (E instanceof MOB) {
-            final int money = CMLib.beanCounter().getMoney((MOB) E);
+            final int money = CMLib.moneyCounter().getMoney((MOB) E);
             text.append(CMLib.xml().convertXMLtoTag("MONEY", money));
             text.append(CMLib.xml().convertXMLtoTag("VARMONEY", "" + ((MOB) E).getMoneyVariation()));
-            CMLib.beanCounter().clearInventoryMoney((MOB) E, null);
+            CMLib.moneyCounter().clearInventoryMoney((MOB) E, null);
             ((MOB) E).setMoney(money);
             for (final Pair<Clan, Integer> p : ((MOB) E).clans())
                 text.append("<CLAN ROLE=").append(p.second.toString()).append(">").append(p.first.clanID()).append("</CLAN>");
@@ -622,14 +622,14 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
     }
 
     protected String unpackErr(String where, String msg) {
-        Log.errOut("CoffeeMaker", "unpack" + where + "FromXML: " + msg);
+        Log.errOut("AetherMaker", "unpack" + where + "FromXML: " + msg);
         return msg;
     }
 
     protected String unpackErr(String where, String msg, XMLTag piece) {
         if (piece == null)
             return unpackErr(where, msg);
-        Log.errOut("CoffeeMaker", "unpack" + where + "FromXML: " + msg + " in piece " + piece.toString());
+        Log.errOut("AetherMaker", "unpack" + where + "FromXML: " + msg + " in piece " + piece.toString());
         return msg;
     }
 
@@ -638,7 +638,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
             return unpackErr(where, msg);
         if (list.size() > 0)
             return unpackErr(where, msg, list.get(0));
-        Log.errOut("CoffeeMaker", "unpack" + where + "FromXML: " + msg + " in empty pieces list");
+        Log.errOut("AetherMaker", "unpack" + where + "FromXML: " + msg + " in empty pieces list");
         return msg;
     }
 
@@ -1104,7 +1104,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         CMLib.map().addArea(newArea);
         CMLib.database().DBCreateArea(newArea);
 
-        newArea.setDescription(CMLib.coffeeFilter().safetyFilter(CMLib.xml().getValFromPieces(aV, "ADESC")));
+        newArea.setDescription(CMLib.aetherFilter().safetyFilter(CMLib.xml().getValFromPieces(aV, "ADESC")));
         newArea.setClimateType(CMLib.xml().getIntFromPieces(aV, "ACLIM"));
         newArea.setTheme(CMLib.xml().getIntFromPieces(aV, "ATECH"));
         newArea.setSubOpList(CMLib.xml().getValFromPieces(aV, "ASUBS"));
@@ -1156,7 +1156,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
             throw new CMException(unpackErr("Area", "No class: " + areaClass));
         newArea.setName(areaName);
 
-        newArea.setDescription(CMLib.coffeeFilter().safetyFilter(CMLib.xml().getValFromPieces(aV, "ADESC")));
+        newArea.setDescription(CMLib.aetherFilter().safetyFilter(CMLib.xml().getValFromPieces(aV, "ADESC")));
         newArea.setClimateType(CMLib.xml().getIntFromPieces(aV, "ACLIM"));
         newArea.setTheme(CMLib.xml().getIntFromPieces(aV, "ATECH"));
         newArea.setSubOpList(CMLib.xml().getValFromPieces(aV, "ASUBS"));
@@ -1293,7 +1293,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                 str.append(logTextDiff(item.text(), dup.text()));
         }
         if (Log.debugChannelOn())
-            Log.debugOut("CoffeeMaker", str.toString());
+            Log.debugOut("AetherMaker", str.toString());
     }
 
     @Override
@@ -1732,8 +1732,8 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                     final Item item = M.getItem(i);
                     buf.append(getUniqueItemXML(item, type, found, files));
                 }
-                if (CMLib.coffeeShops().getShopKeeper(M) != null) {
-                    for (final Iterator<Environmental> i = CMLib.coffeeShops().getShopKeeper(M).getShop().getStoreInventory(); i.hasNext(); ) {
+                if (CMLib.aetherShops().getShopKeeper(M) != null) {
+                    for (final Iterator<Environmental> i = CMLib.aetherShops().getShopKeeper(M).getShop().getStoreInventory(); i.hasNext(); ) {
                         final Environmental E = i.next();
                         if (E instanceof Item)
                             buf.append(getUniqueItemXML((Item) E, type, found, files));
@@ -1939,7 +1939,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
     public void setPropertiesStr(Environmental E, String buf, boolean fromTop) {
         final List<XMLLibrary.XMLTag> V = CMLib.xml().parseAllXML(buf);
         if (V == null)
-            Log.errOut("CoffeeMaker", "setPropertiesStr: null 'V': " + ((E == null) ? "" : E.Name()));
+            Log.errOut("AetherMaker", "setPropertiesStr: null 'V': " + ((E == null) ? "" : E.Name()));
         else
             setPropertiesStr(E, V, fromTop);
     }
@@ -1958,7 +1958,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
     @Override
     public void setPropertiesStr(Environmental E, List<XMLTag> V, boolean fromTop) {
         if (E == null) {
-            Log.errOut("CoffeeMaker", "setPropertiesStr2: null 'E'");
+            Log.errOut("AetherMaker", "setPropertiesStr2: null 'E'");
             return;
         }
         if ((!(E instanceof Physical))
@@ -1984,7 +1984,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
 
     protected void setOrdPropertiesStr(Environmental E, List<XMLTag> V) {
         if (V == null) {
-            Log.errOut("CoffeeMaker", "null XML returned on " + identifier(E, null) + " parse. Load aborted.");
+            Log.errOut("AetherMaker", "null XML returned on " + identifier(E, null) + " parse. Load aborted.");
             return;
         }
 
@@ -2011,13 +2011,13 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                 for (int i = 0; i < VP.size(); i++) {
                     final XMLTag ablk = VP.get(i);
                     if ((!ablk.tag().equalsIgnoreCase("PARENT")) || (ablk.contents() == null)) {
-                        Log.errOut("CoffeeMaker", "Error parsing 'PARENT' of " + identifier(E, null) + ".  Load aborted");
+                        Log.errOut("AetherMaker", "Error parsing 'PARENT' of " + identifier(E, null) + ".  Load aborted");
                         return;
                     }
                     final String aName = ablk.getValFromPieces("PARENTNAMED");
                     final Area A = CMLib.map().getArea(aName);
                     if (A == null)
-                        Log.warnOut("CoffeeMaker", "Unknown parent area '" + aName + "' of " + identifier(E, null));
+                        Log.warnOut("AetherMaker", "Unknown parent area '" + aName + "' of " + identifier(E, null));
                     else {
                         ((Area) E).addParent(A);
                         A.addChild((Area) E);
@@ -2029,13 +2029,13 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                 for (int i = 0; i < VC.size(); i++) {
                     final XMLTag ablk = VC.get(i);
                     if ((!ablk.tag().equalsIgnoreCase("CHILD")) || (ablk.contents() == null)) {
-                        Log.errOut("CoffeeMaker", "Error parsing 'CHILD' of " + identifier(E, null) + ".  Load aborted");
+                        Log.errOut("AetherMaker", "Error parsing 'CHILD' of " + identifier(E, null) + ".  Load aborted");
                         return;
                     }
                     final String aName = ablk.getValFromPieces("CHILDNAMED");
                     final Area A = CMLib.map().getArea(aName);
                     if (A == null)
-                        Log.warnOut("CoffeeMaker", "Unknown child area '" + aName + "' of " + identifier(E, null));
+                        Log.warnOut("AetherMaker", "Unknown child area '" + aName + "' of " + identifier(E, null));
                     else {
                         ((Area) E).addChild(A);
                         A.addParent((Area) E);
@@ -2080,23 +2080,23 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
     protected void setGenMobAbilities(MOB M, List<XMLLibrary.XMLTag> buf) {
         final List<XMLLibrary.XMLTag> V = CMLib.xml().getContentsFromPieces(buf, "ABLTYS");
         if (V == null) {
-            Log.errOut("CoffeeMaker", "Error parsing 'ABLTYS' of " + identifier(M, null) + ".  Load aborted");
+            Log.errOut("AetherMaker", "Error parsing 'ABLTYS' of " + identifier(M, null) + ".  Load aborted");
             return;
         }
         for (int i = 0; i < V.size(); i++) {
             final XMLTag ablk = V.get(i);
             if ((!ablk.tag().equalsIgnoreCase("ABLTY")) || (ablk.contents() == null)) {
-                Log.errOut("CoffeeMaker", "Error parsing 'ABLTY' of " + identifier(M, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'ABLTY' of " + identifier(M, null) + ".  Load aborted");
                 return;
             }
             final Ability newOne = CMClass.getAbility(ablk.getValFromPieces("ACLASS"));
             if (newOne == null) {
-                Log.errOut("CoffeeMaker", "Unknown ability " + ablk.getValFromPieces("ACLASS") + " on " + identifier(M, null) + ", skipping.");
+                Log.errOut("AetherMaker", "Unknown ability " + ablk.getValFromPieces("ACLASS") + " on " + identifier(M, null) + ", skipping.");
                 continue;
             }
             final List<XMLLibrary.XMLTag> adat = ablk.getContentsFromPieces("ADATA");
             if (adat == null) {
-                Log.errOut("CoffeeMaker", "Error parsing 'ABLTY DATA' of " + identifier(M, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'ABLTY DATA' of " + identifier(M, null) + ".  Load aborted");
                 return;
             }
             final String proff = ablk.getValFromPieces("APROF");
@@ -2121,14 +2121,14 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         for (int i = 0; i < V.size(); i++) {
             final XMLTag sblk = V.get(i);
             if ((!sblk.tag().equalsIgnoreCase("SCRPT")) || (sblk.contents() == null)) {
-                Log.errOut("CoffeeMaker", "Error parsing 'SCRPT' of " + identifier(E, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'SCRPT' of " + identifier(E, null) + ".  Load aborted");
                 return;
             }
             final ScriptingEngine S = (ScriptingEngine) CMClass.getCommon("DefaultScriptingEngine");
             S.setSavable(true);
             final String script = sblk.getValFromPieces("SCRIPT");
             if (script == null) {
-                Log.errOut("CoffeeMaker", "Error parsing 'SCRIPT' of " + identifier(E, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'SCRIPT' of " + identifier(E, null) + ".  Load aborted");
                 continue;
             }
             S.setScript(CMLib.xml().restoreAngleBrackets(script));
@@ -2153,7 +2153,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         final List<XMLLibrary.XMLTag> V = CMLib.xml().getContentsFromPieces(buf, "INVEN");
         boolean variableEq = false;
         if (V == null) {
-            Log.errOut("CoffeeMaker", "Error parsing 'INVEN' of " + identifier(M, null) + ".  Load aborted");
+            Log.errOut("AetherMaker", "Error parsing 'INVEN' of " + identifier(M, null) + ".  Load aborted");
             return;
         }
         final Hashtable<String, Container> IIDmap = new Hashtable<String, Container>();
@@ -2161,19 +2161,19 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         for (int i = 0; i < V.size(); i++) {
             final XMLTag iblk = V.get(i);
             if ((!iblk.tag().equalsIgnoreCase("ITEM")) || (iblk.contents() == null)) {
-                Log.errOut("CoffeeMaker", "Error parsing 'ITEM' of " + identifier(M, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'ITEM' of " + identifier(M, null) + ".  Load aborted");
                 return;
             }
             final Item newOne = CMClass.getItem(iblk.getValFromPieces("ICLASS"));
             if (newOne instanceof ArchonOnly)
                 continue;
             if (newOne == null) {
-                Log.errOut("CoffeeMaker", "Unknown item " + iblk.getValFromPieces("ICLASS") + " on " + identifier(M, null) + ", skipping.");
+                Log.errOut("AetherMaker", "Unknown item " + iblk.getValFromPieces("ICLASS") + " on " + identifier(M, null) + ", skipping.");
                 continue;
             }
             final List<XMLLibrary.XMLTag> idat = iblk.getContentsFromPieces("IDATA");
             if (idat == null) {
-                Log.errOut("CoffeeMaker", "Error parsing 'ITEM DATA' of " + identifier(M, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'ITEM DATA' of " + identifier(M, null) + ".  Load aborted");
                 return;
             }
             final long wornCode = CMLib.xml().getLongFromPieces(idat, "IWORN");
@@ -2215,7 +2215,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         shopKeep.getShop().emptyAllShelves();
         final List<XMLLibrary.XMLTag> V = CMLib.xml().getContentsFromPieces(buf, "STORE");
         if (V == null) {
-            Log.errOut("CoffeeMaker", "Error parsing 'STORE' of " + identifier(shopKeep, null) + ".  Load aborted");
+            Log.errOut("AetherMaker", "Error parsing 'STORE' of " + identifier(shopKeep, null) + ".  Load aborted");
             return;
         }
         final Hashtable<String, Container> IIDmap = new Hashtable<String, Container>();
@@ -2223,7 +2223,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         for (int i = 0; i < V.size(); i++) {
             final XMLTag iblk = V.get(i);
             if ((!iblk.tag().equalsIgnoreCase("SHITEM")) || (iblk.contents() == null)) {
-                Log.errOut("CoffeeMaker", "Error parsing 'SHITEM' of " + identifier(shopKeep, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'SHITEM' of " + identifier(shopKeep, null) + ".  Load aborted");
                 continue;
             }
             final String itemi = iblk.getValFromPieces("SICLASS");
@@ -2243,11 +2243,11 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
             if (newOne == null)
                 newOne = CMClass.getUnknown(itemi);
             if (newOne == null) {
-                Log.errOut("CoffeeMaker", "Unknown item " + itemi + " on " + identifier(shopKeep, null) + ", skipping.");
+                Log.errOut("AetherMaker", "Unknown item " + itemi + " on " + identifier(shopKeep, null) + ", skipping.");
                 continue;
             }
             if (idat == null) {
-                Log.errOut("CoffeeMaker", "Error parsing 'SHOP DATA' of " + identifier(shopKeep, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'SHOP DATA' of " + identifier(shopKeep, null) + ".  Load aborted");
                 continue;
             }
             if (newOne instanceof Item) {
@@ -2297,7 +2297,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
             final Physical cataP = CMLib.catalog().getCatalogObj(P);
             if (cataP != null) {
                 if (CMath.bset(cataP.basePhyStats().disposition(), PhyStats.IS_CATALOGED))
-                    Log.errOut("CoffeeMaker", "Error with catalog object " + P.Name() + ".");
+                    Log.errOut("AetherMaker", "Error with catalog object " + P.Name() + ".");
                 else if (cataP != P) {
                     if (fromTop)
                         setOrdPropertiesStr(P, buf);
@@ -2504,12 +2504,12 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
 
     protected void setGenPropertiesStr(Environmental E, List<XMLTag> buf) {
         if (buf == null) {
-            Log.errOut("CoffeeMaker", "null XML returned on " + identifier(E, null) + " parse.  Load aborted.");
+            Log.errOut("AetherMaker", "null XML returned on " + identifier(E, null) + " parse.  Load aborted.");
             return;
         }
 
         if ((E instanceof MOB) && (CMLib.xml().getValFromPieces(buf, "GENDER").length() == 0)) {
-            Log.errOut("CoffeeMaker", "MOB " + identifier(E, null) + " has malformed XML. Load aborted.");
+            Log.errOut("AetherMaker", "MOB " + identifier(E, null) + " has malformed XML. Load aborted.");
             return;
         }
 
@@ -2766,7 +2766,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                         final List<XMLLibrary.XMLTag> idat = CMLib.xml().getContentsFromPieces(dblk, "KLDATA");
                         final Environmental newOne = CMClass.getUnknown(itemi);
                         if (newOne == null)
-                            Log.errOut("CoffeeMaker", "Unknown tool " + itemi + " of " + identifier(E, null) + ".  Skipping.");
+                            Log.errOut("AetherMaker", "Unknown tool " + itemi + " of " + identifier(E, null) + ".  Skipping.");
                         else {
                             setPropertiesStr(newOne, idat, true);
                             ((DeadBody) E).setKillerTool(newOne);
@@ -2787,7 +2787,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
             final String alignStr = CMLib.xml().getValFromPieces(buf, "ALIG");
             if ((alignStr.length() > 0) && (CMLib.factions().getFaction(CMLib.factions().AlignID()) != null))
                 CMLib.factions().setAlignmentOldRange(mob, CMath.s_int(alignStr));
-            CMLib.beanCounter().setMoney(mob, CMLib.xml().getIntFromPieces(buf, "MONEY"));
+            CMLib.moneyCounter().setMoney(mob, CMLib.xml().getIntFromPieces(buf, "MONEY"));
             mob.setMoneyVariation(CMLib.xml().getDoubleFromPieces(buf, "VARMONEY"));
             setGenMobInventory((MOB) E, buf);
             setGenMobAbilities((MOB) E, buf);
@@ -2835,24 +2835,24 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
 
                 List<XMLLibrary.XMLTag> V = CMLib.xml().getContentsFromPieces(buf, "BLESSINGS");
                 if (V == null) {
-                    Log.errOut("CoffeeMaker", "Error parsing 'BLESSINGS' of " + identifier(E, null) + ".  Load aborted");
+                    Log.errOut("AetherMaker", "Error parsing 'BLESSINGS' of " + identifier(E, null) + ".  Load aborted");
                     return;
                 }
                 for (int i = 0; i < V.size(); i++) {
                     final XMLTag ablk = V.get(i);
                     if ((!ablk.tag().equalsIgnoreCase("BLESS")) || (ablk.contents() == null)) {
-                        Log.errOut("CoffeeMaker", "Error parsing 'BLESS' of " + identifier(E, null) + ".  Load aborted");
+                        Log.errOut("AetherMaker", "Error parsing 'BLESS' of " + identifier(E, null) + ".  Load aborted");
                         return;
                     }
                     final Ability newOne = CMClass.getAbility(ablk.getValFromPieces("BLCLASS"));
                     if (newOne == null) {
-                        Log.errOut("CoffeeMaker", "Unknown bless " + ablk.getValFromPieces("BLCLASS") + " on " + identifier(E, null) + ", skipping.");
+                        Log.errOut("AetherMaker", "Unknown bless " + ablk.getValFromPieces("BLCLASS") + " on " + identifier(E, null) + ", skipping.");
                         continue;
                     }
                     final boolean clericsOnly = ablk.getBoolFromPieces("BLONLY");
                     final List<XMLLibrary.XMLTag> adat = ablk.getContentsFromPieces("BLDATA");
                     if (adat == null) {
-                        Log.errOut("CoffeeMaker", "Error parsing 'BLESS DATA' of " + identifier(E, null) + ".  Load aborted");
+                        Log.errOut("AetherMaker", "Error parsing 'BLESS DATA' of " + identifier(E, null) + ".  Load aborted");
                         return;
                     }
                     setPropertiesStr(newOne, adat, true);
@@ -2863,18 +2863,18 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                     for (int i = 0; i < V.size(); i++) {
                         final XMLTag ablk = V.get(i);
                         if ((!ablk.tag().equalsIgnoreCase("CURSE")) || (ablk.contents() == null)) {
-                            Log.errOut("CoffeeMaker", "Error parsing 'CURSE' of " + identifier(E, null) + ".  Load aborted");
+                            Log.errOut("AetherMaker", "Error parsing 'CURSE' of " + identifier(E, null) + ".  Load aborted");
                             return;
                         }
                         final Ability newOne = CMClass.getAbility(ablk.getValFromPieces("CUCLASS"));
                         if (newOne == null) {
-                            Log.errOut("CoffeeMaker", "Unknown curse " + ablk.getValFromPieces("CUCLASS") + " on " + identifier(E, null) + ", skipping.");
+                            Log.errOut("AetherMaker", "Unknown curse " + ablk.getValFromPieces("CUCLASS") + " on " + identifier(E, null) + ", skipping.");
                             continue;
                         }
                         final boolean clericsOnly = ablk.getBoolFromPieces("CUONLY");
                         final List<XMLLibrary.XMLTag> adat = ablk.getContentsFromPieces("CUDATA");
                         if (adat == null) {
-                            Log.errOut("CoffeeMaker", "Error parsing 'CURSE DATA' of " + identifier(E, null) + ".  Load aborted");
+                            Log.errOut("AetherMaker", "Error parsing 'CURSE DATA' of " + identifier(E, null) + ".  Load aborted");
                             return;
                         }
                         setPropertiesStr(newOne, adat, true);
@@ -2886,17 +2886,17 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                     for (int i = 0; i < V.size(); i++) {
                         final XMLTag ablk = V.get(i);
                         if ((!ablk.tag().equalsIgnoreCase("POWER")) || (ablk.contents() == null)) {
-                            Log.errOut("CoffeeMaker", "Error parsing 'POWER' of " + identifier(E, null) + ".  Load aborted");
+                            Log.errOut("AetherMaker", "Error parsing 'POWER' of " + identifier(E, null) + ".  Load aborted");
                             return;
                         }
                         final Ability newOne = CMClass.getAbility(ablk.getValFromPieces("POCLASS"));
                         if (newOne == null) {
-                            Log.errOut("CoffeeMaker", "Unknown power " + ablk.getValFromPieces("POCLASS") + " on " + identifier(E, null) + ", skipping.");
+                            Log.errOut("AetherMaker", "Unknown power " + ablk.getValFromPieces("POCLASS") + " on " + identifier(E, null) + ", skipping.");
                             continue;
                         }
                         final List<XMLLibrary.XMLTag> adat = ablk.getContentsFromPieces("PODATA");
                         if (adat == null) {
-                            Log.errOut("CoffeeMaker", "Error parsing 'POWER DATA' of " + identifier(E, null) + ".  Load aborted");
+                            Log.errOut("AetherMaker", "Error parsing 'POWER DATA' of " + identifier(E, null) + ".  Load aborted");
                             return;
                         }
                         setPropertiesStr(newOne, adat, true);
@@ -3532,7 +3532,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                 for (int i = 0; i < iV.size(); i++) {
                     final XMLTag iblk = iV.get(i);
                     if ((!iblk.tag().equalsIgnoreCase("IPRIC")) || (iblk.contents() == null)) {
-                        Log.errOut("CoffeeMaker", "Error parsing 'IPRICS' of " + identifier(E, null) + ".  Load aborted");
+                        Log.errOut("AetherMaker", "Error parsing 'IPRICS' of " + identifier(E, null) + ".  Load aborted");
                         continue;
                     }
                     ipric[i] = CMLib.xml().restoreAngleBrackets(iblk.value());
@@ -3543,19 +3543,19 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         if (E instanceof PhysicalAgent) {
             final List<XMLLibrary.XMLTag> V = CMLib.xml().getContentsFromPieces(buf, "BEHAVES");
             if (V == null) {
-                Log.errOut("CoffeeMaker", "Error parsing 'BEHAVES' of " + identifier(E, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'BEHAVES' of " + identifier(E, null) + ".  Load aborted");
                 return;
             }
             for (int i = 0; i < V.size(); i++) {
                 final XMLTag ablk = V.get(i);
                 if ((!ablk.tag().equalsIgnoreCase("BHAVE")) || (ablk.contents() == null)) {
-                    Log.errOut("CoffeeMaker", "Error parsing 'BHAVE' of " + identifier(E, null) + ".  Load aborted");
+                    Log.errOut("AetherMaker", "Error parsing 'BHAVE' of " + identifier(E, null) + ".  Load aborted");
                     return;
                 }
                 final Behavior newOne = CMClass.getBehavior(ablk.getValFromPieces("BCLASS"));
                 final String bparms = ablk.getValFromPieces("BPARMS");
                 if (newOne == null) {
-                    Log.errOut("CoffeeMaker", "Unknown behavior " + ablk.getValFromPieces("BCLASS") + " on " + identifier(E, null) + ", skipping.");
+                    Log.errOut("AetherMaker", "Unknown behavior " + ablk.getValFromPieces("BCLASS") + " on " + identifier(E, null) + ", skipping.");
                     continue;
                 }
                 newOne.setParms(CMLib.xml().restoreAngleBrackets(bparms));
@@ -3568,19 +3568,19 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
         if (E instanceof Physical) {
             final List<XMLLibrary.XMLTag> V = CMLib.xml().getContentsFromPieces(buf, "AFFECS");
             if (V == null) {
-                Log.errOut("CoffeeMaker", "Error parsing 'AFFECS' of " + identifier(E, null) + ".  Load aborted");
+                Log.errOut("AetherMaker", "Error parsing 'AFFECS' of " + identifier(E, null) + ".  Load aborted");
                 return;
             }
             for (int i = 0; i < V.size(); i++) {
                 final XMLTag ablk = V.get(i);
                 if ((!ablk.tag().equalsIgnoreCase("AFF")) || (ablk.contents() == null)) {
-                    Log.errOut("CoffeeMaker", "Error parsing 'AFF' of " + identifier(E, null) + ".  Load aborted");
+                    Log.errOut("AetherMaker", "Error parsing 'AFF' of " + identifier(E, null) + ".  Load aborted");
                     return;
                 }
                 final Ability newOne = CMClass.getAbility(ablk.getValFromPieces("ACLASS"));
                 final String aparms = ablk.getValFromPieces("ATEXT");
                 if (newOne == null) {
-                    Log.errOut("CoffeeMaker", "Unknown affect " + ablk.getValFromPieces("ACLASS") + " on " + identifier(E, null) + ", skipping.");
+                    Log.errOut("AetherMaker", "Unknown affect " + ablk.getValFromPieces("ACLASS") + " on " + identifier(E, null) + ", skipping.");
                     continue;
                 }
                 newOne.setMiscText(CMLib.xml().restoreAngleBrackets(aparms));
@@ -3845,8 +3845,8 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
             case DESCRIPTION:
                 return M.description(); // description
             case MONEY: {
-                final String money = "" + CMLib.beanCounter().getMoney(M); // money
-                // CMLib.beanCounter().clearZeroMoney(M,null); WHY THE HECK WAS THIS
+                final String money = "" + CMLib.moneyCounter().getMoney(M); // money
+                // CMLib.moneyCounter().clearZeroMoney(M,null); WHY THE HECK WAS THIS
                 // EVER HERE?!?!
                 return money;
             }
@@ -3940,7 +3940,7 @@ public class CoffeeMaker extends StdLibrary implements GenericBuilder {
                 M.setDescription(val);
                 break; // description
             case MONEY:
-                CMLib.beanCounter().setMoney(M, CMath.s_parseIntExpression(val));
+                CMLib.moneyCounter().setMoney(M, CMath.s_parseIntExpression(val));
                 break; // money
             case ALIGNMENT:
                 if (CMath.s_int(val) == Integer.MAX_VALUE) // alignment
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeShops.java b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherShops.java
similarity index 96%
rename from src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeShops.java
rename to src/main/java/com/syncleus/aethermud/game/Libraries/AetherShops.java
index a4d6fbd45c..2cf9618dc6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeShops.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherShops.java
@@ -34,12 +34,12 @@ import com.syncleus.aethermud.game.core.interfaces.*;
 import java.util.*;
 
 
-public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
+public class AetherShops extends StdLibrary implements ShoppingLibrary {
     private final static String[] emptyStringArray = new String[0];
 
     @Override
     public String ID() {
-        return "CoffeeShops";
+        return "AetherShops";
     }
 
     @Override
@@ -266,7 +266,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
         return true;
     }
 
-    public double rawSpecificGoldPrice(Environmental product, CoffeeShop shop) {
+    public double rawSpecificGoldPrice(Environmental product, AetherShop shop) {
         double price = 0.0;
         if (product instanceof Item)
             price = ((Item) product).value();
@@ -422,7 +422,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
 
         if (buyer == null) {
             if (val.absoluteGoldPrice > 0.0)
-                val.absoluteGoldPrice = CMLib.beanCounter().abbreviatedRePrice(seller, val.absoluteGoldPrice);
+                val.absoluteGoldPrice = CMLib.moneyCounter().abbreviatedRePrice(seller, val.absoluteGoldPrice);
             return val;
         }
 
@@ -445,7 +445,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
         if (val.absoluteGoldPrice <= 0.0)
             val.absoluteGoldPrice = 1.0;
         else
-            val.absoluteGoldPrice = CMLib.beanCounter().abbreviatedRePrice(seller, val.absoluteGoldPrice);
+            val.absoluteGoldPrice = CMLib.moneyCounter().abbreviatedRePrice(seller, val.absoluteGoldPrice);
 
         // the magical aura discount for miscmagic (potions, anything else.. MUST be basePhyStats tho!
         if ((CMath.bset(buyer.basePhyStats().disposition(), PhyStats.IS_BONUS))
@@ -794,7 +794,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
                     return false;
                 }
                 if ((price.absoluteGoldPrice > 0.0)
-                    && (price.absoluteGoldPrice > CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(buyer, seller))) {
+                    && (price.absoluteGoldPrice > CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(buyer, seller))) {
                     CMLib.commands().postSay(seller, buyer, L("You can't afford to buy @x1.", product.name()), false, false);
                     return false;
                 }
@@ -900,7 +900,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
                 else if ((price.questPointPrice > 0) && ((("" + price.questPointPrice).length() + 2) > (4 + csize)))
                     csize = ("" + price.questPointPrice).length() - 2;
                 else {
-                    showPrice = CMLib.beanCounter().abbreviatedPrice(seller, price.absoluteGoldPrice);
+                    showPrice = CMLib.moneyCounter().abbreviatedPrice(seller, price.absoluteGoldPrice);
                     if (showPrice.length() > (4 + csize))
                         csize = showPrice.length() - 4;
                 }
@@ -920,7 +920,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
                 else if (price.experiencePrice > 0)
                     col = CMStrings.padRight(L("[@x1xp", "" + price.experiencePrice), (5 + csize)) + "] ^<SHOP^>" + CMStrings.padRight(E.name(), "^</SHOP^>", Math.max(totalWidth - csize, 5));
                 else
-                    col = CMStrings.padRight("[" + CMLib.beanCounter().abbreviatedPrice(seller, price.absoluteGoldPrice), 5 + csize) + "] ^<SHOP^>" + CMStrings.padRight(E.name(), "^</SHOP^>", Math.max(totalWidth - csize, 5));
+                    col = CMStrings.padRight("[" + CMLib.moneyCounter().abbreviatedPrice(seller, price.absoluteGoldPrice), 5 + csize) + "] ^<SHOP^>" + CMStrings.padRight(E.name(), "^</SHOP^>", Math.max(totalWidth - csize, 5));
                 if ((++colNum) > totalCols) {
                     str.append("\n\r");
                     rowNum++;
@@ -994,12 +994,12 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
         }
         if ((coreSoldItem != null) && (shop.doISellThis(coreSoldItem))) {
             final double val = pawningPrice(shopkeeper, pawner, rawSoldItem, shop).absoluteGoldPrice;
-            final String currency = CMLib.beanCounter().getCurrency(shopkeeper);
+            final String currency = CMLib.moneyCounter().getCurrency(shopkeeper);
             if (!(shopkeeper instanceof ShopKeeper))
-                CMLib.beanCounter().subtractMoney(shopkeeper, currency, val);
-            CMLib.beanCounter().giveSomeoneMoney(shopkeeper, pawner, currency, val);
+                CMLib.moneyCounter().subtractMoney(shopkeeper, currency, val);
+            CMLib.moneyCounter().giveSomeoneMoney(shopkeeper, pawner, currency, val);
             pawner.recoverPhyStats();
-            pawner.tell(L("@x1 pays you @x2 for @x3.", shopkeeper.name(), CMLib.beanCounter().nameCurrencyShort(shopkeeper, val), rawSoldItem.name()));
+            pawner.tell(L("@x1 pays you @x2 for @x3.", shopkeeper.name(), CMLib.moneyCounter().nameCurrencyShort(shopkeeper, val), rawSoldItem.name()));
             if (rawSoldItem instanceof Item) {
                 List<Item> V = null;
                 if (rawSoldItem instanceof Container)
@@ -1058,7 +1058,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
         final Room room = seller.location();
         final ShopKeeper.ShopPrice price = sellingPrice(seller, buyer, product, shop, true);
         if (price.absoluteGoldPrice > 0.0) {
-            CMLib.beanCounter().subtractMoney(buyer, CMLib.beanCounter().getCurrency(seller), price.absoluteGoldPrice);
+            CMLib.moneyCounter().subtractMoney(buyer, CMLib.moneyCounter().getCurrency(seller), price.absoluteGoldPrice);
             double totalFunds = price.absoluteGoldPrice;
             if (getSalesTax(seller.getStartRoom(), seller) != 0.0) {
                 final Law theLaw = CMLib.law().getTheLaw(room, seller);
@@ -1070,7 +1070,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
                     if (treasuryR != null) {
                         final double taxAmount = totalFunds - sellingPrice(seller, buyer, product, shop, false).absoluteGoldPrice;
                         totalFunds -= taxAmount;
-                        final Coins COIN = CMLib.beanCounter().makeBestCurrency(CMLib.beanCounter().getCurrency(seller), taxAmount, treasuryR, treasuryContainer);
+                        final Coins COIN = CMLib.moneyCounter().makeBestCurrency(CMLib.moneyCounter().getCurrency(seller), taxAmount, treasuryR, treasuryContainer);
                         if (COIN != null)
                             COIN.putCoinsBack();
                     }
@@ -1079,17 +1079,17 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
             if (seller.isMonster()) {
                 final LandTitle T = CMLib.law().getLandTitle(seller.getStartRoom());
                 if ((T != null) && (T.getOwnerName().length() > 0)) {
-                    CMLib.beanCounter().modifyLocalBankGold(seller.getStartRoom().getArea(),
+                    CMLib.moneyCounter().modifyLocalBankGold(seller.getStartRoom().getArea(),
                         T.getOwnerName(),
                         CMLib.utensils().getFormattedDate(buyer)
-                            + ": Deposit of " + CMLib.beanCounter().nameCurrencyShort(seller, totalFunds)
+                            + ": Deposit of " + CMLib.moneyCounter().nameCurrencyShort(seller, totalFunds)
                             + ": Purchase: " + product.Name() + " from " + seller.Name(),
-                        CMLib.beanCounter().getCurrency(seller),
+                        CMLib.moneyCounter().getCurrency(seller),
                         totalFunds);
                 }
             }
             if (sellerGetsPaid)
-                CMLib.beanCounter().giveSomeoneMoney(seller, seller, CMLib.beanCounter().getCurrency(seller), totalFunds);
+                CMLib.moneyCounter().giveSomeoneMoney(seller, seller, CMLib.moneyCounter().getCurrency(seller), totalFunds);
         }
         if (price.questPointPrice > 0)
             buyer.setQuestPoint(buyer.getQuestPoint() - price.questPointPrice);
@@ -1243,7 +1243,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
     }
 
     @Override
-    public List<Environmental> addRealEstateTitles(List<Environmental> V, MOB buyer, CoffeeShop shop, Room myRoom) {
+    public List<Environmental> addRealEstateTitles(List<Environmental> V, MOB buyer, AetherShop shop, Room myRoom) {
         if ((myRoom == null) || (buyer == null))
             return V;
         final Area myArea = myRoom.getArea();
@@ -1376,7 +1376,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
     }
 
     @Override
-    public String storeKeeperString(CoffeeShop shop) {
+    public String storeKeeperString(AetherShop shop) {
         if (shop == null)
             return "";
         if (shop.isSold(ShopKeeper.DEAL_ANYTHING))
@@ -1596,9 +1596,9 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
     @Override
     public void returnMoney(MOB to, String currency, double amt) {
         if (amt > 0)
-            CMLib.beanCounter().giveSomeoneMoney(to, currency, amt);
+            CMLib.moneyCounter().giveSomeoneMoney(to, currency, amt);
         else
-            CMLib.beanCounter().subtractMoney(to, currency, -amt);
+            CMLib.moneyCounter().subtractMoney(to, currency, -amt);
         if (amt != 0) {
             if (!CMLib.flags().isInTheGame(to, true))
                 CMLib.database().DBUpdatePlayerItems(to);
@@ -1607,19 +1607,19 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
 
     @Override
     public String[] bid(MOB mob, double bid, String bidCurrency, AuctionData auctionData, Item I, List<String> auctionAnnounces) {
-        String bidWords = CMLib.beanCounter().nameCurrencyShort(auctionData.getCurrency(), auctionData.getBid());
-        final String currencyName = CMLib.beanCounter().getDenominationName(auctionData.getCurrency());
+        String bidWords = CMLib.moneyCounter().nameCurrencyShort(auctionData.getCurrency(), auctionData.getBid());
+        final String currencyName = CMLib.moneyCounter().getDenominationName(auctionData.getCurrency());
         if (bid == 0.0)
             return new String[]{"Up for auction: " + I.name() + ".  The current bid is " + bidWords + ".", null};
 
         if (!bidCurrency.equals(auctionData.getCurrency()))
             return new String[]{"This auction is being bid in " + currencyName + " only.", null};
 
-        if (bid > CMLib.beanCounter().getTotalAbsoluteValue(mob, auctionData.getCurrency()))
+        if (bid > CMLib.moneyCounter().getTotalAbsoluteValue(mob, auctionData.getCurrency()))
             return new String[]{"You don't have enough " + currencyName + " on hand to cover that bid.", null};
 
         if ((bid < auctionData.getBid()) || (bid == 0)) {
-            final String bwords = CMLib.beanCounter().nameCurrencyShort(bidCurrency, bid);
+            final String bwords = CMLib.moneyCounter().nameCurrencyShort(bidCurrency, bid);
             return new String[]{"Your bid of " + bwords + " is insufficient." + ((auctionData.getBid() > 0) ? " The current high bid is " + bidWords + "." : ""), null};
         } else if ((bid > auctionData.getHighBid()) || ((bid > auctionData.getBid()) && (auctionData.getHighBid() == 0))) {
             final MOB oldHighBider = auctionData.getHighBidderMob();
@@ -1635,8 +1635,8 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
             auctionData.setBid(auctionData.getHighBid() + 1.0);
             auctionData.setHighBid(bid);
             returnMoney(auctionData.getHighBidderMob(), auctionData.getCurrency(), -bid);
-            bidWords = CMLib.beanCounter().nameCurrencyShort(auctionData.getCurrency(), auctionData.getBid());
-            final String yourBidWords = CMLib.beanCounter().abbreviatedPrice(currencyName, auctionData.getHighBid());
+            bidWords = CMLib.moneyCounter().nameCurrencyShort(auctionData.getCurrency(), auctionData.getBid());
+            final String yourBidWords = CMLib.moneyCounter().abbreviatedPrice(currencyName, auctionData.getHighBid());
             auctionAnnounces.add("A new bid has been entered for " + I.name() + ". The current high bid is " + bidWords + ".");
             if ((oldHighBider != null) && (oldHighBider == mob))
                 return new String[]{"You have submitted a new high bid of " + yourBidWords + " for " + I.name() + ".", null};
@@ -1649,13 +1649,13 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
         } else if ((bid == auctionData.getHighBid()) && (auctionData.getHighBidderMob() != null)) {
             if ((auctionData.getHighBidderMob() != null) && (auctionData.getHighBidderMob() != mob)) {
                 auctionData.setBid(bid);
-                bidWords = CMLib.beanCounter().nameCurrencyShort(auctionData.getCurrency(), auctionData.getBid());
+                bidWords = CMLib.moneyCounter().nameCurrencyShort(auctionData.getCurrency(), auctionData.getBid());
                 auctionAnnounces.add("A new bid has been entered for " + I.name() + ". The current bid is " + bidWords + ".");
                 return new String[]{"You have been outbid by proxy for " + I.name() + ".", "Your high bid for " + I.name() + " has been reached."};
             }
         } else {
             auctionData.setBid(bid);
-            bidWords = CMLib.beanCounter().nameCurrencyShort(auctionData.getCurrency(), auctionData.getBid());
+            bidWords = CMLib.moneyCounter().nameCurrencyShort(auctionData.getCurrency(), auctionData.getBid());
             auctionAnnounces.add("A new bid has been entered for " + I.name() + ". The current bid is " + bidWords + ".");
             return new String[]{"You have been outbid by proxy for " + I.name() + ".", null};
         }
@@ -1692,7 +1692,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
             xml.append("<BIDDER />");
         xml.append("<MAXBID>" + data.getHighBid() + "</MAXBID>");
         xml.append("<AUCTIONITEM>");
-        xml.append(CMLib.coffeeMaker().getItemXML(data.getAuctionedItem()).toString());
+        xml.append(CMLib.aetherMaker().getItemXML(data.getAuctionedItem()).toString());
         xml.append("</AUCTIONITEM>");
         xml.append("</AUCTION>");
         if (!updateOnly) {
@@ -1738,11 +1738,11 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
             final String buyOutPrice = CMLib.xml().getValFromPieces(xmlV, "BUYOUT");
             data.setBuyOutPrice(CMath.s_double(buyOutPrice));
             data.setAuctioningMob(CMLib.players().getLoadPlayer(from));
-            data.setCurrency(CMLib.beanCounter().getCurrency(data.getAuctioningMob()));
+            data.setCurrency(CMLib.moneyCounter().getCurrency(data.getAuctioningMob()));
             for (int v = 0; v < xmlV.size(); v++) {
                 final XMLTag X = xmlV.get(v);
                 if (X.tag().equalsIgnoreCase("AUCTIONITEM")) {
-                    data.setAuctionedItem(CMLib.coffeeMaker().getItemFromXML(X.value()));
+                    data.setAuctionedItem(CMLib.aetherMaker().getItemFromXML(X.value()));
                     break;
                 }
             }
@@ -1788,11 +1788,11 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
                         str.append("DONE ");
                     else
                         str.append("WON! ");
-                    str.append("[" + CMStrings.padRight(CMLib.beanCounter().abbreviatedPrice(seller, data.getBid()), 6) + "] ");
+                    str.append("[" + CMStrings.padRight(CMLib.moneyCounter().abbreviatedPrice(seller, data.getBid()), 6) + "] ");
                     if (data.getBuyOutPrice() <= 0.0)
                         str.append(CMStrings.padRight("-", 6));
                     else
-                        str.append(CMStrings.padRight(CMLib.beanCounter().abbreviatedPrice(seller, data.getBuyOutPrice()), 6));
+                        str.append(CMStrings.padRight(CMLib.moneyCounter().abbreviatedPrice(seller, data.getBuyOutPrice()), 6));
                     str.append("\n\r");
                 }
             }
@@ -1825,7 +1825,7 @@ public class CoffeeShops extends StdLibrary implements ShoppingLibrary {
             if (data.getHighBidderMob() != null) {
                 final MOB M = data.getHighBidderMob();
                 auctionNotify(M, "The auction for " + data.getAuctionedItem().Name() + " was closed early.  You have been refunded your max bid.", data.getAuctionedItem().Name());
-                CMLib.coffeeShops().returnMoney(M, data.getCurrency(), data.getHighBid());
+                CMLib.aetherShops().returnMoney(M, data.getCurrency(), data.getHighBid());
             }
         }
         CMLib.database().DBDeleteJournal(auctionHouse, data.getAuctionDBKey());
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeTables.java b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherTables.java
similarity index 90%
rename from src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeTables.java
rename to src/main/java/com/syncleus/aethermud/game/Libraries/AetherTables.java
index 8cbacf1d37..2fefa3709e 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeTables.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherTables.java
@@ -16,7 +16,7 @@
  */
 package com.syncleus.aethermud.game.Libraries;
 
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Libraries.interfaces.StatisticsLibrary;
 import com.syncleus.aethermud.game.core.*;
 import com.syncleus.aethermud.game.core.CMSecurity.DbgFlag;
@@ -27,12 +27,12 @@ import com.syncleus.aethermud.game.core.interfaces.Tickable;
 import java.util.Calendar;
 
 
-public class CoffeeTables extends StdLibrary implements StatisticsLibrary {
-    public CoffeeTableRow todays = null;
+public class AetherTables extends StdLibrary implements StatisticsLibrary {
+    public AetherTableRow todays = null;
 
     @Override
     public String ID() {
-        return "CoffeeTables";
+        return "AetherTables";
     }
 
     @Override
@@ -64,7 +64,7 @@ public class CoffeeTables extends StdLibrary implements StatisticsLibrary {
                         C.set(Calendar.MINUTE, 59);
                         C.set(Calendar.SECOND, 59);
                         C.set(Calendar.MILLISECOND, 999);
-                        todays = (CoffeeTableRow) CMClass.getCommon("DefaultCoffeeTableRow");
+                        todays = (AetherTableRow) CMClass.getCommon("DefaultAetherTableRow");
                         todays.setStartTime(S.getTimeInMillis());
                         todays.setEndTime(C.getTimeInMillis());
                         CMLib.database().DBCreateStat(todays.startTime(), todays.endTime(), todays.data());
@@ -90,14 +90,14 @@ public class CoffeeTables extends StdLibrary implements StatisticsLibrary {
                     C.set(Calendar.MINUTE, 59);
                     C.set(Calendar.SECOND, 59);
                     C.set(Calendar.MILLISECOND, 999);
-                    todays = (CoffeeTableRow) CMClass.getCommon("DefaultCoffeeTableRow");
+                    todays = (AetherTableRow) CMClass.getCommon("DefaultAetherTableRow");
                     todays.setStartTime(S.getTimeInMillis());
                     todays.setEndTime(C.getTimeInMillis());
-                    final CoffeeTableRow testRow = CMLib.database().DBReadStat(todays.startTime());
+                    final AetherTableRow testRow = CMLib.database().DBReadStat(todays.startTime());
                     if (testRow != null)
                         todays = testRow;
                     else if (!CMLib.database().DBCreateStat(todays.startTime(), todays.endTime(), todays.data())) {
-                        Log.errOut("CoffeeTables", "Unable to manage daily-stat transition");
+                        Log.errOut("AetherTables", "Unable to manage daily-stat transition");
                     }
                 }
             }
@@ -127,8 +127,8 @@ public class CoffeeTables extends StdLibrary implements StatisticsLibrary {
                     Log.errOut(serviceClient.getName(), "DB: " + ok);
                     CMLib.s_sleep(100000);
                 } else {
-                    CMLib.coffeeTables().bump(null, CoffeeTableRow.STAT_SPECIAL_NUMONLINE);
-                    CMLib.coffeeTables().update();
+                    CMLib.aetherTables().bump(null, AetherTableRow.STAT_SPECIAL_NUMONLINE);
+                    CMLib.aetherTables().update();
                 }
             }
         } finally {
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeTime.java b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherTime.java
similarity index 99%
rename from src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeTime.java
rename to src/main/java/com/syncleus/aethermud/game/Libraries/AetherTime.java
index b097461531..c684e5d3a8 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeTime.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherTime.java
@@ -34,12 +34,12 @@ import java.util.TimeZone;
 import java.util.concurrent.TimeUnit;
 
 
-public class CoffeeTime extends StdLibrary implements TimeManager {
+public class AetherTime extends StdLibrary implements TimeManager {
     protected TimeClock globalClock = null;
 
     @Override
     public String ID() {
-        return "CoffeeTime";
+        return "AetherTime";
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeUtensils.java b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherUtensils.java
similarity index 98%
rename from src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeUtensils.java
rename to src/main/java/com/syncleus/aethermud/game/Libraries/AetherUtensils.java
index 31d142ee0b..e155b71ae9 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CoffeeUtensils.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/AetherUtensils.java
@@ -39,7 +39,7 @@ import com.syncleus.aethermud.game.core.interfaces.*;
 import java.util.*;
 
 
-public class CoffeeUtensils extends StdLibrary implements CMMiscUtils {
+public class AetherUtensils extends StdLibrary implements CMMiscUtils {
     public static final int LOOTFLAG_RUIN = 1;
     public static final int LOOTFLAG_LOSS = 2;
     public static final int LOOTFLAG_WORN = 4;
@@ -50,7 +50,7 @@ public class CoffeeUtensils extends StdLibrary implements CMMiscUtils {
 
     @Override
     public String ID() {
-        return "CoffeeUtensils";
+        return "AetherUtensils";
     }
 
     @Override
@@ -473,7 +473,7 @@ public class CoffeeUtensils extends StdLibrary implements CMMiscUtils {
                     }
                     if (mob instanceof ShopKeeper) {
                         final List<Item> rivalItems = new Vector<Item>();
-                        final CoffeeShop shop = ((ShopKeeper) mob).getShop();
+                        final AetherShop shop = ((ShopKeeper) mob).getShop();
                         for (final Iterator<Environmental> i = shop.getStoreInventory(); i.hasNext(); ) {
                             final Environmental E = i.next();
                             if (E instanceof Item) {
@@ -492,11 +492,11 @@ public class CoffeeUtensils extends StdLibrary implements CMMiscUtils {
                             }
                         }
                     }
-                    CMLib.beanCounter().getTotalAbsoluteNativeValue(mob); // converts mob.get-Money();
+                    CMLib.moneyCounter().getTotalAbsoluteNativeValue(mob); // converts mob.get-Money();
                     if (mob.getMoneyVariation() > 0.0)
-                        CMLib.beanCounter().addMoney(mob, Math.random() * mob.getMoneyVariation());
+                        CMLib.moneyCounter().addMoney(mob, Math.random() * mob.getMoneyVariation());
                     else if (mob.getMoneyVariation() < 0.0)
-                        CMLib.beanCounter().subtractMoney(mob, -(Math.random() * mob.getMoneyVariation()));
+                        CMLib.moneyCounter().subtractMoney(mob, -(Math.random() * mob.getMoneyVariation()));
                     mob.recoverPhyStats();
                     mob.recoverCharStats();
                     mob.recoverMaxState();
@@ -1236,13 +1236,13 @@ public class CoffeeUtensils extends StdLibrary implements CMMiscUtils {
                         break;
                     }
                     case 'g': {
-                        buf.append((int) Math.round(Math.floor(CMLib.beanCounter().getTotalAbsoluteNativeValue(mob)
-                            / CMLib.beanCounter().getLowestDenomination(CMLib.beanCounter().getCurrency(mob)))));
+                        buf.append((int) Math.round(Math.floor(CMLib.moneyCounter().getTotalAbsoluteNativeValue(mob)
+                            / CMLib.moneyCounter().getLowestDenomination(CMLib.moneyCounter().getCurrency(mob)))));
                         c++;
                         break;
                     }
                     case 'G': {
-                        buf.append(CMLib.beanCounter().nameCurrencyShort(mob, CMLib.beanCounter().getTotalAbsoluteNativeValue(mob)));
+                        buf.append(CMLib.moneyCounter().nameCurrencyShort(mob, CMLib.moneyCounter().getTotalAbsoluteNativeValue(mob)));
                         c++;
                         break;
                     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/BeanCounter.java b/src/main/java/com/syncleus/aethermud/game/Libraries/BeanCounter.java
index b3daf2dd43..5bf18da21f 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/BeanCounter.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/BeanCounter.java
@@ -820,7 +820,7 @@ public class BeanCounter extends StdLibrary implements MoneyLibrary {
             if (last.startsWith("COINS;")) {
                 if ((bankName == null) || (bankName.length() == 0) || (bankName.equals(D.section()))) {
                     Coins C = (Coins) CMClass.getItem("StdCoins");
-                    CMLib.coffeeMaker().setPropertiesStr(C, last.substring(6), true);
+                    CMLib.aetherMaker().setPropertiesStr(C, last.substring(6), true);
                     if ((C.getDenomination() == 0.0) && (C.getNumberOfCoins() > 0))
                         C.setDenomination(1.0);
                     C.recoverPhyStats();
@@ -828,7 +828,7 @@ public class BeanCounter extends StdLibrary implements MoneyLibrary {
                     if ((absoluteAmount > 0.0) || (value >= (-absoluteAmount))) {
                         C = makeBestCurrency(currency, value + absoluteAmount);
                         if (C != null)
-                            CMLib.database().DBReCreatePlayerData(owner, D.section(), D.key(), "COINS;" + CMLib.coffeeMaker().getPropertiesStr(C, true));
+                            CMLib.database().DBReCreatePlayerData(owner, D.section(), D.key(), "COINS;" + CMLib.aetherMaker().getPropertiesStr(C, true));
                         else
                             CMLib.database().DBDeletePlayerData(owner, D.section(), D.key());
                         bankLedger(bankName, owner, explanation);
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CMCatalog.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CMCatalog.java
index ae2a7c6c54..83528f0fa8 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CMCatalog.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CMCatalog.java
@@ -244,12 +244,12 @@ public class CMCatalog extends StdLibrary implements CatalogLibrary {
         Environmental shopItem = null;
         final Vector<RoomContent> content = new Vector<RoomContent>();
         if (R != null) {
-            shops = CMLib.coffeeShops().getAllShopkeepers(R, null);
+            shops = CMLib.aetherShops().getAllShopkeepers(R, null);
             for (int s = 0; s < shops.size(); s++) {
                 E = shops.get(s);
                 if (E == null)
                     continue;
-                SK = CMLib.coffeeShops().getShopKeeper(E);
+                SK = CMLib.aetherShops().getShopKeeper(E);
                 if (SK == null)
                     continue;
                 for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
@@ -436,7 +436,7 @@ public class CMCatalog extends StdLibrary implements CatalogLibrary {
                             changeCatalogFlag(content.P(), false);
                     }
                 }
-                R = CMLib.coffeeMaker().makeNewRoomContent(R, false);
+                R = CMLib.aetherMaker().makeNewRoomContent(R, false);
                 contents = roomContent(R);
                 boolean dirty = false;
                 for (final RoomContent content : contents) {
@@ -553,7 +553,7 @@ public class CMCatalog extends StdLibrary implements CatalogLibrary {
                     P.setMiscText(P.text());
                     changeCatalogFlag(P, true);
                 }
-                SK = CMLib.coffeeShops().getShopKeeper(P);
+                SK = CMLib.aetherShops().getShopKeeper(P);
                 if ((SK != null) && (!doneShops.contains(SK))) {
                     doneShops.add(SK);
                     propogateShopChange(SK, ignored, cataP);
@@ -882,9 +882,9 @@ public class CMCatalog extends StdLibrary implements CatalogLibrary {
                 @Override
                 public Object readData() {
                     if (obj instanceof MOB)
-                        return CMLib.coffeeMaker().getMobXML((MOB) obj);
+                        return CMLib.aetherMaker().getMobXML((MOB) obj);
                     else if (obj instanceof Item)
-                        return CMLib.coffeeMaker().getItemXML((Item) obj);
+                        return CMLib.aetherMaker().getItemXML((Item) obj);
                     else
                         return null;
                 }
@@ -903,9 +903,9 @@ public class CMCatalog extends StdLibrary implements CatalogLibrary {
                 for (int i = 0; i < catalog.size(); i++) {
                     final Physical obj = (Physical) catalog.elementAt(i, 1);
                     if (obj instanceof MOB)
-                        str.append(CMLib.coffeeMaker().getMobXML((MOB) obj));
+                        str.append(CMLib.aetherMaker().getMobXML((MOB) obj));
                     else if (obj instanceof Item)
-                        str.append(CMLib.coffeeMaker().getItemXML((Item) obj));
+                        str.append(CMLib.aetherMaker().getItemXML((Item) obj));
                 }
                 str.append("</" + tagName + ">");
                 return str.toString();
@@ -927,9 +927,9 @@ public class CMCatalog extends StdLibrary implements CatalogLibrary {
                         @Override
                         public Object readData() {
                             if (obj instanceof MOB)
-                                return CMLib.coffeeMaker().getMobXML((MOB) obj);
+                                return CMLib.aetherMaker().getMobXML((MOB) obj);
                             else if (obj instanceof Item)
-                                return CMLib.coffeeMaker().getItemXML((Item) obj);
+                                return CMLib.aetherMaker().getItemXML((Item) obj);
                             else
                                 return null;
                         }
@@ -943,9 +943,9 @@ public class CMCatalog extends StdLibrary implements CatalogLibrary {
                     final StringBuilder str = new StringBuilder("<" + tagName + ">");
                     for (final Physical obj : objs) {
                         if (obj instanceof MOB)
-                            str.append(CMLib.coffeeMaker().getMobXML((MOB) obj));
+                            str.append(CMLib.aetherMaker().getMobXML((MOB) obj));
                         else if (obj instanceof Item)
-                            str.append(CMLib.coffeeMaker().getItemXML((Item) obj));
+                            str.append(CMLib.aetherMaker().getItemXML((Item) obj));
                     }
                     str.append("</" + tagName + ">");
                     return str.toString();
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CMChannels.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CMChannels.java
index 8012ae0926..dca9b77182 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CMChannels.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CMChannels.java
@@ -558,7 +558,7 @@ public class CMChannels extends StdLibrary implements ChannelsLibrary {
             && ((sender.location() == R) || (R.okMessage(ses.mob(), msg)))) {
             if (ses.getClientTelnetMode(Session.TELNET_GMCP)) {
                 ses.sendGMCPEvent("comm.channel", "{\"chan\":\"" + getChannel(channelInt).name() + "\",\"msg\":\"" +
-                    MiniJSON.toJSONString(CMLib.coffeeFilter().fullOutFilter(null, M, msg.source(), msg.target(), msg.tool(), CMStrings.removeColors((M == msg.source()) ? msg.sourceMessage() : msg.othersMessage()), false))
+                    MiniJSON.toJSONString(CMLib.aetherFilter().fullOutFilter(null, M, msg.source(), msg.target(), msg.tool(), CMStrings.removeColors((M == msg.source()) ? msg.sourceMessage() : msg.othersMessage()), false))
                     + "\",\"player\":\"" + msg.source().name() + "\"}");
             }
             M.executeMsg(M, msg);
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CMGenEditor.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CMGenEditor.java
index c31c69c2e9..1cb6dc1ba6 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CMGenEditor.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CMGenEditor.java
@@ -733,8 +733,8 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
         if (newName.length() > 0) {
             if (newName.equalsIgnoreCase("default"))
                 A.setCurrency("");
-            else if ((newName.indexOf('=') < 0) && (!CMLib.beanCounter().getAllCurrencies().contains(newName.trim().toUpperCase()))) {
-                final List<String> V = CMLib.beanCounter().getAllCurrencies();
+            else if ((newName.indexOf('=') < 0) && (!CMLib.moneyCounter().getAllCurrencies().contains(newName.trim().toUpperCase()))) {
+                final List<String> V = CMLib.moneyCounter().getAllCurrencies();
                 mob.tell(L("'@x1' is not a known currency. Existing currencies include: DEFAULT@x2", newName.trim().toUpperCase(), CMParms.toListString(V)));
             } else if (newName.indexOf('=') >= 0)
                 A.setCurrency(newName.trim());
@@ -2317,7 +2317,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
         throws IOException {
         if ((showFlag > 0) && (showFlag != showNumber))
             return;
-        mob.tell(L("@x1. Money data: '@x2 x @x3'.", "" + showNumber, "" + I.getNumberOfCoins(), CMLib.beanCounter().getDenominationName(I.getCurrency(), I.getDenomination())));
+        mob.tell(L("@x1. Money data: '@x2 x @x3'.", "" + showNumber, "" + I.getNumberOfCoins(), CMLib.moneyCounter().getDenominationName(I.getCurrency(), I.getDenomination())));
         if ((showFlag != showNumber) && (showFlag > -999))
             return;
         boolean gocontinue = true;
@@ -2334,8 +2334,8 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                     mob.tell(L("(no change)"));
             } else if ((oldCurrency.length() == 0) || (oldCurrency.equalsIgnoreCase(I.getCurrency())))
                 mob.tell(L("(no change)"));
-            else if (!CMLib.beanCounter().getAllCurrencies().contains(oldCurrency)) {
-                final List<String> V = CMLib.beanCounter().getAllCurrencies();
+            else if (!CMLib.moneyCounter().getAllCurrencies().contains(oldCurrency)) {
+                final List<String> V = CMLib.moneyCounter().getAllCurrencies();
                 for (int v = 0; v < V.size(); v++) {
                     if (V.get(v).length() == 0)
                         V.set(v, "Default");
@@ -2349,7 +2349,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
         while ((mob.session() != null) && (!mob.session().isStopped()) && (gocontinue)) {
             gocontinue = false;
             String newDenom = mob.session().prompt(L("Enter denomination (?):"), "" + I.getDenomination()).trim().toUpperCase();
-            final MoneyLibrary.MoneyDenomination[] DV = CMLib.beanCounter().getCurrencySet(I.getCurrency());
+            final MoneyLibrary.MoneyDenomination[] DV = CMLib.moneyCounter().getCurrencySet(I.getCurrency());
             if ((newDenom.length() > 0)
                 && (!CMath.isDouble(newDenom))
                 && (!newDenom.equalsIgnoreCase("?"))) {
@@ -2364,7 +2364,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                 mob.tell(L("(no change)"));
             else if ((newDenom.equalsIgnoreCase("?"))
                 || (!CMath.isDouble(newDenom))
-                || ((DV != null) && (CMLib.beanCounter().getDenominationIndex(I.getCurrency(), CMath.s_double(newDenom)) < 0))) {
+                || ((DV != null) && (CMLib.moneyCounter().getDenominationIndex(I.getCurrency(), CMath.s_double(newDenom)) < 0))) {
                 StringBuffer allDenoms = new StringBuffer("");
                 if (DV != null) {
                     for (final MoneyDenomination element : DV)
@@ -2523,11 +2523,11 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
 
     protected void genMoney(MOB mob, MOB M, int showNumber, int showFlag) throws IOException {
         if (M.getMoney() == 0) {
-            final double d = CMLib.beanCounter().getTotalAbsoluteNativeValue(M);
-            CMLib.beanCounter().subtractMoney(M, d);
+            final double d = CMLib.moneyCounter().getTotalAbsoluteNativeValue(M);
+            CMLib.moneyCounter().subtractMoney(M, d);
             M.setMoney((int) Math.round(d));
         }
-        CMLib.beanCounter().setMoney(M, prompt(mob, M.getMoney(), showNumber, showFlag, "Money"));
+        CMLib.moneyCounter().setMoney(M, prompt(mob, M.getMoney(), showNumber, showFlag, "Money"));
     }
 
     protected void genWeaponAmmo(MOB mob, Weapon W, int showNumber, int showFlag)
@@ -5024,7 +5024,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
             return;
         final PhyStats S = (PhyStats) CMClass.getCommon("DefaultPhyStats");
         S.setAllValues(0);
-        CMLib.coffeeMaker().setPhyStats(S, R.getStat("ESTATS"));
+        CMLib.aetherMaker().setPhyStats(S, R.getStat("ESTATS"));
         final StringBuffer parts = new StringBuffer("");
         for (int i = 0; i < S.getStatCodes().length; i++) {
             if (CMath.s_int(S.getStat(S.getStatCodes()[i])) != 0)
@@ -5076,7 +5076,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                         if (zereoed)
                             R.setStat("ESTATS", "");
                         else
-                            R.setStat("ESTATS", CMLib.coffeeMaker().getPhyStatsStr(S));
+                            R.setStat("ESTATS", CMLib.aetherMaker().getPhyStatsStr(S));
                     }
                 }
             } else {
@@ -5097,7 +5097,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
             return;
         final CharState S = (CharState) CMClass.getCommon("DefaultCharState");
         S.setAllValues(0);
-        CMLib.coffeeMaker().setCharState(S, R.getStat(field));
+        CMLib.aetherMaker().setCharState(S, R.getStat(field));
         final StringBuffer parts = new StringBuffer("");
         for (int i = 0; i < S.getStatCodes().length; i++) {
             if (CMath.s_int(S.getStat(S.getStatCodes()[i])) != 0)
@@ -5136,7 +5136,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                         if (zereoed)
                             R.setStat(field, "");
                         else
-                            R.setStat(field, CMLib.coffeeMaker().getCharStateStr(S));
+                            R.setStat(field, CMLib.aetherMaker().getCharStateStr(S));
                     } else
                         mob.tell(L("(no change)"));
                 }
@@ -5153,7 +5153,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
             return;
         final CharStats S = (CharStats) CMClass.getCommon("DefaultCharStats");
         S.setAllValues(0);
-        CMLib.coffeeMaker().setCharStats(S, R.getStat(Field));
+        CMLib.aetherMaker().setCharStats(S, R.getStat(Field));
         final StringBuffer parts = new StringBuffer("");
         for (final int i : CharStats.CODES.ALLCODES()) {
             if (S.getStat(i) != 0)
@@ -5197,7 +5197,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                         if (zereoed)
                             R.setStat(Field, "");
                         else
-                            R.setStat(Field, CMLib.coffeeMaker().getCharStatsStr(S));
+                            R.setStat(Field, CMLib.aetherMaker().getCharStatsStr(S));
                     } else
                         mob.tell(L("(no change)"));
                 }
@@ -5219,7 +5219,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
             return;
         final PhyStats S = (PhyStats) CMClass.getCommon("DefaultPhyStats");
         S.setAllValues(0);
-        CMLib.coffeeMaker().setPhyStats(S, R.getStat("ESTATS"));
+        CMLib.aetherMaker().setPhyStats(S, R.getStat("ESTATS"));
         final StringBuffer parts = new StringBuffer("");
         for (int i = 0; i < S.getStatCodes().length; i++)
             if ((i != PhyStats.STAT_REJUV) || (!skipRejuv))
@@ -5273,7 +5273,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                         if (zereoed)
                             R.setStat("ESTATS", "");
                         else
-                            R.setStat("ESTATS", CMLib.coffeeMaker().getPhyStatsStr(S));
+                            R.setStat("ESTATS", CMLib.aetherMaker().getPhyStatsStr(S));
                     }
                 }
             } else {
@@ -5294,7 +5294,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
             return;
         final CharState S = (CharState) CMClass.getCommon("DefaultCharState");
         S.setAllValues(0);
-        CMLib.coffeeMaker().setCharState(S, R.getStat(field));
+        CMLib.aetherMaker().setCharState(S, R.getStat(field));
         final StringBuffer parts = new StringBuffer("");
         for (int i = 0; i < S.getStatCodes().length; i++) {
             if (CMath.s_int(S.getStat(S.getStatCodes()[i])) != 0)
@@ -5333,7 +5333,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                         if (zereoed)
                             R.setStat(field, "");
                         else
-                            R.setStat(field, CMLib.coffeeMaker().getCharStateStr(S));
+                            R.setStat(field, CMLib.aetherMaker().getCharStateStr(S));
                     } else
                         mob.tell(L("(no change)"));
                 }
@@ -5350,7 +5350,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
             return;
         final CharStats S = (CharStats) CMClass.getCommon("DefaultCharStats");
         S.setAllValues(0);
-        CMLib.coffeeMaker().setCharStats(S, R.getStat(Field));
+        CMLib.aetherMaker().setCharStats(S, R.getStat(Field));
         final StringBuffer parts = new StringBuffer("");
         for (final int i : CharStats.CODES.ALLCODES()) {
             if (S.getStat(i) != 0)
@@ -5389,7 +5389,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                         if (zereoed)
                             R.setStat(Field, "");
                         else
-                            R.setStat(Field, CMLib.coffeeMaker().getCharStatsStr(S));
+                            R.setStat(Field, CMLib.aetherMaker().getCharStatsStr(S));
                     } else
                         mob.tell(L("(no change)"));
                 }
@@ -7890,7 +7890,7 @@ public class CMGenEditor extends StdLibrary implements GenericEditor {
                 final Item I = i.nextElement();
                 if ((I != null) && (I.basePhyStats().rejuv() > 0) && (I.basePhyStats().rejuv() != PhyStats.NO_REJUV) && (session != null)) {
                     if (session.confirm(L("\n\r**This mob has variable equipment in the catalog, would you like to reset it first (Y/n)? "), "Y")) {
-                        CMLib.coffeeMaker().setPropertiesStr(me, cataM.text(), false);
+                        CMLib.aetherMaker().setPropertiesStr(me, cataM.text(), false);
                         CMLib.catalog().changeCatalogUsage(me, true);
                         break;
                     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CMJournals.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CMJournals.java
index 4e66dc356e..da7e8bbd00 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CMJournals.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CMJournals.java
@@ -796,7 +796,7 @@ public class CMJournals extends StdLibrary implements JournalsLibrary {
                     case 'L': {
                         final StringBuffer list = new StringBuffer(messageTitle + "\n\r");
                         for (int v = 0; v < vbuf.size(); v++)
-                            list.append(CMLib.coffeeFilter().colorOnlyFilter("^X" + CMStrings.padRight("" + v, 3) + ")^.^N ", sess) + vbuf.get(v) + "\n\r");
+                            list.append(CMLib.aetherFilter().colorOnlyFilter("^X" + CMStrings.padRight("" + v, 3) + ")^.^N ", sess) + vbuf.get(v) + "\n\r");
                         sess.rawPrint(list.toString());
                         break;
                     }
@@ -850,9 +850,9 @@ public class CMJournals extends StdLibrary implements JournalsLibrary {
                     final String[] msgs = CMProps.getListVar(CMProps.StrList.SUBSCRIPTION_STRS);
                     if ((msgs != null) && (msgs.length > 0)) {
                         if (msgs[0].length() > 0)
-                            subscribeTitle = CMLib.coffeeFilter().fullInFilter(CMStrings.replaceAll(msgs[0], "<NAME>", journalName));
+                            subscribeTitle = CMLib.aetherFilter().fullInFilter(CMStrings.replaceAll(msgs[0], "<NAME>", journalName));
                         if ((msgs.length > 0) && (msgs[1].length() > 0))
-                            subscribedMsg = CMLib.coffeeFilter().fullInFilter(CMStrings.replaceAll(msgs[1], "<NAME>", journalName));
+                            subscribedMsg = CMLib.aetherFilter().fullInFilter(CMStrings.replaceAll(msgs[1], "<NAME>", journalName));
                     }
                     CMLib.database().DBWriteJournalEmail(CMProps.getVar(CMProps.Str.MAILBOX), journalName, journalName, userName, subscribeTitle, subscribedMsg);
                 }
@@ -884,9 +884,9 @@ public class CMJournals extends StdLibrary implements JournalsLibrary {
                     final String[] msgs = CMProps.getListVar(CMProps.StrList.SUBSCRIPTION_STRS);
                     if ((msgs != null) && (msgs.length > 2)) {
                         if (msgs[2].length() > 0)
-                            unsubscribeTitle = CMLib.coffeeFilter().fullInFilter(CMStrings.replaceAll(msgs[2], "<NAME>", journalName));
+                            unsubscribeTitle = CMLib.aetherFilter().fullInFilter(CMStrings.replaceAll(msgs[2], "<NAME>", journalName));
                         if ((msgs.length > 3) && (msgs[1].length() > 0))
-                            unsubscribedMsg = CMLib.coffeeFilter().fullInFilter(CMStrings.replaceAll(msgs[3], "<NAME>", journalName));
+                            unsubscribedMsg = CMLib.aetherFilter().fullInFilter(CMStrings.replaceAll(msgs[3], "<NAME>", journalName));
                     }
                     CMLib.database().DBWriteJournalEmail(CMProps.getVar(CMProps.Str.MAILBOX), journalName, journalName, userName, unsubscribeTitle, unsubscribedMsg);
                 }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CMMap.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CMMap.java
index cf534672ea..a0441a5ded 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CMMap.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CMMap.java
@@ -1100,7 +1100,7 @@ public class CMMap extends StdLibrary implements WorldMap {
             for (final Enumeration<MOB> e = CMLib.players().players(); e.hasMoreElements(); ) {
                 M = e.nextElement();
                 if (M != null) {
-                    SK = CMLib.coffeeShops().getShopKeeper(M);
+                    SK = CMLib.aetherShops().getShopKeeper(M);
                     if ((SK != null) && (!stocks.contains(SK))) {
                         stocks.add(SK);
                         final Iterator<Environmental> ei = SK.getShop().getStoreInventory(srchStr);
@@ -1116,7 +1116,7 @@ public class CMMap extends StdLibrary implements WorldMap {
                     for (int i = 0; i < M.numItems(); i++) {
                         I = M.getItem(i);
                         if (I != null) {
-                            SK = CMLib.coffeeShops().getShopKeeper(I);
+                            SK = CMLib.aetherShops().getShopKeeper(I);
                             if ((SK != null) && (!stocks.contains(SK))) {
                                 stocks.add(SK);
                                 final Iterator<Environmental> ei = SK.getShop().getStoreInventory(srchStr);
@@ -1146,7 +1146,7 @@ public class CMMap extends StdLibrary implements WorldMap {
                 if ((room != null) && (allRoomsAllowed || CMLib.flags().canAccess(mob, room))) {
                     if (!areas.contains(room.getArea()))
                         areas.add(room.getArea());
-                    SK = CMLib.coffeeShops().getShopKeeper(room);
+                    SK = CMLib.aetherShops().getShopKeeper(room);
                     if ((SK != null) && (!stocks.contains(SK))) {
                         stocks.add(SK);
                         final Iterator<Environmental> ei = SK.getShop().getStoreInventory(srchStr);
@@ -1162,7 +1162,7 @@ public class CMMap extends StdLibrary implements WorldMap {
                     for (int m = 0; m < room.numInhabitants(); m++) {
                         M = room.fetchInhabitant(m);
                         if (M != null) {
-                            SK = CMLib.coffeeShops().getShopKeeper(M);
+                            SK = CMLib.aetherShops().getShopKeeper(M);
                             if ((SK != null) && (!stocks.contains(SK))) {
                                 stocks.add(SK);
                                 final Iterator<Environmental> ei = SK.getShop().getStoreInventory(srchStr);
@@ -1180,7 +1180,7 @@ public class CMMap extends StdLibrary implements WorldMap {
                     for (int i = 0; i < room.numItems(); i++) {
                         I = room.getItem(i);
                         if (I != null) {
-                            SK = CMLib.coffeeShops().getShopKeeper(I);
+                            SK = CMLib.aetherShops().getShopKeeper(I);
                             if ((SK != null) && (!stocks.contains(SK))) {
                                 stocks.add(SK);
                                 final Iterator<Environmental> ei = SK.getShop().getStoreInventory(srchStr);
@@ -1201,7 +1201,7 @@ public class CMMap extends StdLibrary implements WorldMap {
                 startTime = System.currentTimeMillis();
             }
         for (final Area A : areas) {
-            SK = CMLib.coffeeShops().getShopKeeper(A);
+            SK = CMLib.aetherShops().getShopKeeper(A);
             if ((SK != null) && (!stocks.contains(SK))) {
                 stocks.add(SK);
                 final Iterator<Environmental> ei = SK.getShop().getStoreInventory(srchStr);
@@ -3027,7 +3027,7 @@ public class CMMap extends StdLibrary implements WorldMap {
                     myFiles.add(new CMFile.CMVFSFile(this.getPath() + cmfsFilenameify(A.Name()) + ".cmare", 48, System.currentTimeMillis(), "SYS") {
                         @Override
                         public Object readData() {
-                            return CMLib.coffeeMaker().getAreaXML(A, null, null, null, true);
+                            return CMLib.aetherMaker().getAreaXML(A, null, null, null, true);
                         }
                     });
                     myFiles.add(new CMFile.CMVFSDir(this, this.getPath() + cmfsFilenameify(A.Name()) + "/") {
@@ -3043,7 +3043,7 @@ public class CMMap extends StdLibrary implements WorldMap {
                                     myFiles.add(new CMFile.CMVFSFile(this.getPath() + cmfsFilenameify(R.roomID()) + ".cmare", 48, System.currentTimeMillis(), "SYS") {
                                         @Override
                                         public Object readData() {
-                                            return CMLib.coffeeMaker().getRoomXML(R, null, null, true);
+                                            return CMLib.aetherMaker().getRoomXML(R, null, null, true);
                                         }
                                     });
                                     myFiles.add(new CMFile.CMVFSDir(this, this.getPath() + cmfsFilenameify(roomID).toLowerCase() + "/") {
@@ -3053,27 +3053,27 @@ public class CMMap extends StdLibrary implements WorldMap {
                                             myFiles.add(new CMFile.CMVFSFile(this.getPath() + "items.cmare", 48, System.currentTimeMillis(), "SYS") {
                                                 @Override
                                                 public Object readData() {
-                                                    return CMLib.coffeeMaker().getRoomItems(R, new TreeMap<String, List<Item>>(), null, null);
+                                                    return CMLib.aetherMaker().getRoomItems(R, new TreeMap<String, List<Item>>(), null, null);
                                                 }
                                             });
                                             myFiles.add(new CMFile.CMVFSFile(this.path + "mobs.cmare", 48, System.currentTimeMillis(), "SYS") {
                                                 @Override
                                                 public Object readData() {
-                                                    return CMLib.coffeeMaker().getRoomMobs(R, null, null, new TreeMap<String, List<MOB>>());
+                                                    return CMLib.aetherMaker().getRoomMobs(R, null, null, new TreeMap<String, List<MOB>>());
                                                 }
                                             });
                                             myFiles.add(new CMFile.CMVFSDir(this, this.path + "mobs/") {
                                                 @Override
                                                 protected CMFile.CMVFSFile[] getFiles() {
                                                     final List<CMFile.CMVFSFile> myFiles = new Vector<CMFile.CMVFSFile>();
-                                                    final Room R2 = CMLib.coffeeMaker().makeNewRoomContent(R, false);
+                                                    final Room R2 = CMLib.aetherMaker().makeNewRoomContent(R, false);
                                                     if (R2 != null) {
                                                         for (int i = 0; i < R2.numInhabitants(); i++) {
                                                             final MOB M = R2.fetchInhabitant(i);
                                                             myFiles.add(new CMFile.CMVFSFile(this.path + cmfsFilenameify(R2.getContextName(M)) + ".cmare", 48, System.currentTimeMillis(), "SYS") {
                                                                 @Override
                                                                 public Object readData() {
-                                                                    return CMLib.coffeeMaker().getMobXML(M);
+                                                                    return CMLib.aetherMaker().getMobXML(M);
                                                                 }
                                                             });
                                                             myFiles.add(new CMFile.CMVFSDir(this, this.path + cmfsFilenameify(R2.getContextName(M)) + "/") {
@@ -3095,14 +3095,14 @@ public class CMMap extends StdLibrary implements WorldMap {
                                                 @Override
                                                 protected CMFile.CMVFSFile[] getFiles() {
                                                     final List<CMFile.CMVFSFile> myFiles = new Vector<CMFile.CMVFSFile>();
-                                                    final Room R2 = CMLib.coffeeMaker().makeNewRoomContent(R, false);
+                                                    final Room R2 = CMLib.aetherMaker().makeNewRoomContent(R, false);
                                                     if (R2 != null) {
                                                         for (int i = 0; i < R2.numItems(); i++) {
                                                             final Item I = R2.getItem(i);
                                                             myFiles.add(new CMFile.CMVFSFile(this.path + cmfsFilenameify(R2.getContextName(I)) + ".cmare", 48, System.currentTimeMillis(), "SYS") {
                                                                 @Override
                                                                 public Object readData() {
-                                                                    return CMLib.coffeeMaker().getItemXML(I);
+                                                                    return CMLib.aetherMaker().getItemXML(I);
                                                                 }
                                                             });
                                                             myFiles.add(new CMFile.CMVFSDir(this, this.path + cmfsFilenameify(R2.getContextName(I)) + "/") {
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CMPlayers.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CMPlayers.java
index 55b1ea310c..276668ae4d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CMPlayers.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CMPlayers.java
@@ -443,7 +443,7 @@ public class CMPlayers extends StdLibrary implements PlayerLibrary {
                 name += " (" + pStats.getAccount().getAccountName() + ")";
             CMLib.commands().postChannel(channels.get(i), deadMOB.clans(), CMLib.lang().fullSessionTranslation("@x1 has just been deleted.", name), true);
         }
-        CMLib.coffeeTables().bump(deadMOB, CoffeeTableRow.STAT_PURGES);
+        CMLib.aetherTables().bump(deadMOB, AetherTableRow.STAT_PURGES);
 
         CMLib.database().DBDeletePlayer(deadMOB.Name());
         deadMOB.delAllItems(false);
@@ -996,7 +996,7 @@ public class CMPlayers extends StdLibrary implements PlayerLibrary {
                 mob.playerStats().getEmail(),
                 mob.playerStats().getEmail(),
                 subj,
-                CMLib.coffeeFilter().simpleOutFilter(msg));
+                CMLib.aetherFilter().simpleOutFilter(msg));
         } catch (final java.io.IOException ioe) {
             Log.errOut(serviceClient.getName(), "Unable to notify " + to + " of impending autopurge.");
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CMProtocols.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CMProtocols.java
index a152584e67..929c99ccd5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CMProtocols.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CMProtocols.java
@@ -904,7 +904,7 @@ public class CMProtocols extends StdLibrary implements ProtocolLibrary {
                 break;
             case MONEY:
                 if (M != null)
-                    return Double.valueOf(CMLib.beanCounter().getTotalAbsoluteNativeValue(M));
+                    return Double.valueOf(CMLib.moneyCounter().getTotalAbsoluteNativeValue(M));
                 break;
             case MOVEMENT:
                 if (M != null)
@@ -1041,7 +1041,7 @@ public class CMProtocols extends StdLibrary implements ProtocolLibrary {
                 break;
             case MONEY:
                 if (M != null)
-                    buf.write(Double.toString(CMLib.beanCounter().getTotalAbsoluteNativeValue(M)).getBytes(Session.MSDP_CHARSET));
+                    buf.write(Double.toString(CMLib.moneyCounter().getTotalAbsoluteNativeValue(M)).getBytes(Session.MSDP_CHARSET));
                 break;
             case MOVEMENT:
                 if (M != null)
@@ -1805,7 +1805,7 @@ public class CMProtocols extends StdLibrary implements ProtocolLibrary {
                     case char_worth:
                         if (mob != null) {
                             final StringBuilder doc = new StringBuilder("char.worth {");
-                            doc.append("\"gold\":").append(CMLib.beanCounter().getTotalAbsoluteNativeValue(mob)).append(",");
+                            doc.append("\"gold\":").append(CMLib.moneyCounter().getTotalAbsoluteNativeValue(mob)).append(",");
                             doc.append("\"qp\":").append(mob.getQuestPoint()).append(",");
                             //doc.append("\"tp\":").append(mob.getTrains()).append(",");
                             doc.append("\"trains\":").append(mob.getTrains()).append(",");
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CharCreation.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CharCreation.java
index 4cbcf604f5..94b6937b10 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CharCreation.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CharCreation.java
@@ -2667,11 +2667,11 @@ public class CharCreation extends StdLibrary implements CharCreationLibrary {
         if ((startingMoney != null) && (startingMoney.trim().length() > 0)) {
             String currency = CMLib.english().numPossibleGoldCurrency(mob, startingMoney);
             if (currency.length() == 0)
-                currency = CMLib.beanCounter().getCurrency(mob);
+                currency = CMLib.moneyCounter().getCurrency(mob);
             final double denomination = CMLib.english().numPossibleGoldDenomination(null, currency, startingMoney);
             final long num = CMLib.english().numPossibleGold(null, startingMoney);
             if ((num > 0) && (denomination > 0.0) && (currency != null))
-                CMLib.beanCounter().giveSomeoneMoney(mob, currency, denomination * num);
+                CMLib.moneyCounter().giveSomeoneMoney(mob, currency, denomination * num);
         }
 
         StringBuffer introText = new CMFile(Resources.buildResourcePath("text") + "newchardone.txt", null, CMFile.FLAG_LOGERRORS).text();
@@ -2729,7 +2729,7 @@ public class CharCreation extends StdLibrary implements CharCreationLibrary {
         final List<String> channels = CMLib.channels().getFlaggedChannelNames(ChannelsLibrary.ChannelFlag.NEWPLAYERS);
         for (int i = 0; i < channels.size(); i++)
             CMLib.commands().postChannel(channels.get(i), mob.clans(), L("@x1 has just been created.", mob.Name()), true);
-        CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_NEWPLAYERS);
+        CMLib.aetherTables().bump(mob, AetherTableRow.STAT_NEWPLAYERS);
         if (isExpired(mob.playerStats().getAccount(), session, mob)) {
             if (loginObj.acct != null)
                 loginObj.state = LoginState.ACCTMENU_START;
@@ -2737,7 +2737,7 @@ public class CharCreation extends StdLibrary implements CharCreationLibrary {
             session.setMob(null);
             return LoginResult.NO_LOGIN;
         }
-        CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_LOGINS);
+        CMLib.aetherTables().bump(mob, AetherTableRow.STAT_LOGINS);
         mob.setSession(session);
         session.setMob(mob);
         return LoginResult.NORMAL_LOGIN;
@@ -2884,7 +2884,7 @@ public class CharCreation extends StdLibrary implements CharCreationLibrary {
         if (loginsDisabled(mob))
             return LoginResult.NO_LOGIN;
         mob.bringToLife(startRoom, resetStats);
-        CMLib.coffeeTables().bump(mob, CoffeeTableRow.STAT_LOGINS);
+        CMLib.aetherTables().bump(mob, AetherTableRow.STAT_LOGINS);
         mob.location().showOthers(mob, startRoom, CMMsg.MASK_ALWAYS | CMMsg.MSG_ENTER, L("<S-NAME> appears!"));
         for (int f = 0; f < mob.numFollowers(); f++) {
             final MOB follower = mob.fetchFollower(f);
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/ColumbiaUniv.java b/src/main/java/com/syncleus/aethermud/game/Libraries/ColumbiaUniv.java
index c76436f618..85326d95c0 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/ColumbiaUniv.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/ColumbiaUniv.java
@@ -329,7 +329,7 @@ public class ColumbiaUniv extends StdLibrary implements ExpertiseLibrary {
                         ofWhat = "experience points";
                         break;
                     case GOLD:
-                        ofWhat = CMLib.beanCounter().getDenominationName(mob, value.doubleValue());
+                        ofWhat = CMLib.moneyCounter().getDenominationName(mob, value.doubleValue());
                         break;
                     case PRACTICE:
                         ofWhat = "practice points";
@@ -353,9 +353,9 @@ public class ColumbiaUniv extends StdLibrary implements ExpertiseLibrary {
                         return value.intValue() + " quest pts";
                     case GOLD:
                         if (mob == null)
-                            return CMLib.beanCounter().abbreviatedPrice("", value.doubleValue());
+                            return CMLib.moneyCounter().abbreviatedPrice("", value.doubleValue());
                         else
-                            return CMLib.beanCounter().abbreviatedPrice(mob, value.doubleValue());
+                            return CMLib.moneyCounter().abbreviatedPrice(mob, value.doubleValue());
                     default:
                         return value.intValue() + " "
                             + ((value.intValue() == 1)
@@ -375,7 +375,7 @@ public class ColumbiaUniv extends StdLibrary implements ExpertiseLibrary {
                     case XP:
                         return student.getExperience() >= value.intValue();
                     case GOLD:
-                        return CMLib.beanCounter().getTotalAbsoluteNativeValue(student) >= value.doubleValue();
+                        return CMLib.moneyCounter().getTotalAbsoluteNativeValue(student) >= value.doubleValue();
                     case TRAIN:
                         return student.getTrains() >= value.intValue();
                     case PRACTICE:
@@ -397,7 +397,7 @@ public class ColumbiaUniv extends StdLibrary implements ExpertiseLibrary {
                         CMLib.leveler().postExperience(student, null, "", value.intValue(), true);
                         break;
                     case GOLD:
-                        CMLib.beanCounter().subtractMoney(student, value.doubleValue());
+                        CMLib.moneyCounter().subtractMoney(student, value.doubleValue());
                         break;
                     case TRAIN:
                         student.setTrains(student.getTrains() - value.intValue());
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/CommonMsgs.java b/src/main/java/com/syncleus/aethermud/game/Libraries/CommonMsgs.java
index 22cee10633..f392c96193 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/CommonMsgs.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/CommonMsgs.java
@@ -453,14 +453,14 @@ public class CommonMsgs extends StdLibrary implements CommonCommands {
                         && ((ignore) || ((target.location() != null) && (target.location().okMessage(target, msg))))) {
                         if ((mob.session() != null) && (mob.session().getClientTelnetMode(Session.TELNET_GMCP))) {
                             mob.session().sendGMCPEvent("comm.channel", "{\"chan\":\"tell\",\"msg\":\"" +
-                                MiniJSON.toJSONString(CMLib.coffeeFilter().fullOutFilter(null, mob, mob, target, null, CMStrings.removeColors(msg.sourceMessage()), false))
+                                MiniJSON.toJSONString(CMLib.aetherFilter().fullOutFilter(null, mob, mob, target, null, CMStrings.removeColors(msg.sourceMessage()), false))
                                 + "\",\"player\":\"" + mob.name(target) + "\"}");
                         }
                         mob.executeMsg(mob, msg);
                         if ((mob != target) && (!ignore)) {
                             if ((target.session() != null) && (target.session().getClientTelnetMode(Session.TELNET_GMCP))) {
                                 target.session().sendGMCPEvent("comm.channel", "{\"chan\":\"tell\",\"msg\":\"" +
-                                    MiniJSON.toJSONString(CMLib.coffeeFilter().fullOutFilter(null, target, mob, target, null, CMStrings.removeColors(msg.targetMessage()), false))
+                                    MiniJSON.toJSONString(CMLib.aetherFilter().fullOutFilter(null, target, mob, target, null, CMStrings.removeColors(msg.targetMessage()), false))
                                     + "\",\"player\":\"" + mob.name(target) + "\"}");
                             }
                             target.executeMsg(target, msg);
@@ -479,7 +479,7 @@ public class CommonMsgs extends StdLibrary implements CommonCommands {
                             if ((!mob.isMonster()) && (!target.isMonster())) {
                                 if (mob.playerStats() != null) {
                                     mob.playerStats().setReplyTo(target, PlayerStats.REPLY_TELL);
-                                    mob.playerStats().addTellStack(CMLib.coffeeFilter().fullOutFilter(mob.session(), mob, mob, target, null, CMStrings.removeColors(msg.sourceMessage()), false));
+                                    mob.playerStats().addTellStack(CMLib.aetherFilter().fullOutFilter(mob.session(), mob, mob, target, null, CMStrings.removeColors(msg.sourceMessage()), false));
                                 }
                                 if (target.playerStats() != null) {
                                     target.playerStats().setReplyTo(mob, PlayerStats.REPLY_TELL);
@@ -488,7 +488,7 @@ public class CommonMsgs extends StdLibrary implements CommonCommands {
                                         && ((((Ability) msg.tool()).classificationCode() & Ability.ALL_ACODES) == Ability.ACODE_LANGUAGE)
                                         && (target.fetchEffect(msg.tool().ID()) != null))
                                         str = CMStrings.substituteSayInMessage(str, CMStrings.getSayFromMessage(msg.sourceMessage()));
-                                    target.playerStats().addTellStack(CMLib.coffeeFilter().fullOutFilter(target.session(), target, mob, target, null, CMStrings.removeColors(str), false));
+                                    target.playerStats().addTellStack(CMLib.aetherFilter().fullOutFilter(target.session(), target, mob, target, null, CMStrings.removeColors(str), false));
                                 }
                             }
                         }
@@ -513,7 +513,7 @@ public class CommonMsgs extends StdLibrary implements CommonCommands {
     protected void gmcpSaySend(String sayName, MOB mob, MOB target, CMMsg msg) {
         if ((mob.session() != null) && (mob.session().getClientTelnetMode(Session.TELNET_GMCP))) {
             mob.session().sendGMCPEvent("comm.channel", "{\"chan\":\"" + sayName + "\",\"msg\":\"" +
-                MiniJSON.toJSONString(CMLib.coffeeFilter().fullOutFilter(null, mob, mob, target, null, CMStrings.removeColors(msg.sourceMessage()), false))
+                MiniJSON.toJSONString(CMLib.aetherFilter().fullOutFilter(null, mob, mob, target, null, CMStrings.removeColors(msg.sourceMessage()), false))
                 + "\",\"player\":\"" + mob.name(target) + "\"}");
         }
         final Room R = mob.location();
@@ -522,7 +522,7 @@ public class CommonMsgs extends StdLibrary implements CommonCommands {
                 final MOB M = R.fetchInhabitant(i);
                 if ((M != null) && (M != msg.source()) && (M.session() != null) && (M.session().getClientTelnetMode(Session.TELNET_GMCP))) {
                     M.session().sendGMCPEvent("comm.channel", "{\"chan\":\"" + sayName + "\",\"msg\":\"" +
-                        MiniJSON.toJSONString(CMLib.coffeeFilter().fullOutFilter(null, M, mob, target, null, CMStrings.removeColors(msg.othersMessage()), false))
+                        MiniJSON.toJSONString(CMLib.aetherFilter().fullOutFilter(null, M, mob, target, null, CMStrings.removeColors(msg.othersMessage()), false))
                         + "\",\"player\":\"" + mob.name(target) + "\"}");
                 }
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/EnglishParser.java b/src/main/java/com/syncleus/aethermud/game/Libraries/EnglishParser.java
index 4ac5e56f45..5b34ba89e3 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/EnglishParser.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/EnglishParser.java
@@ -1113,7 +1113,7 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
         }
         commands.remove(0);
 
-        final List<Environmental> V = CMLib.coffeeShops().getAllShopkeepers(mob.location(), mob);
+        final List<Environmental> V = CMLib.aetherShops().getAllShopkeepers(mob.location(), mob);
         if (V.isEmpty()) {
             if (error.length() > 0)
                 mob.tell(error);
@@ -1136,7 +1136,7 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
                     }
                 }
             }
-            if ((shopkeeper != null) && (CMLib.coffeeShops().getShopKeeper(shopkeeper) != null) && (CMLib.flags().canBeSeenBy(shopkeeper, mob)))
+            if ((shopkeeper != null) && (CMLib.aetherShops().getShopKeeper(shopkeeper) != null) && (CMLib.flags().canBeSeenBy(shopkeeper, mob)))
                 commands.remove(commands.size() - 1);
             else {
                 CMLib.commands().doCommandFail(mob, new XVector(commands), L("You don't see anyone called '@x1' here buying or selling.", commands.get(commands.size() - 1)));
@@ -1147,7 +1147,7 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
         Environmental shopkeeper = V.get(0);
         if (commands.size() > 1) {
             final MOB M = mob.location().fetchInhabitant(commands.get(commands.size() - 1));
-            if ((M != null) && (CMLib.coffeeShops().getShopKeeper(M) != null) && (CMLib.flags().canBeSeenBy(M, mob))) {
+            if ((M != null) && (CMLib.aetherShops().getShopKeeper(M) != null) && (CMLib.flags().canBeSeenBy(M, mob))) {
                 shopkeeper = M;
                 commands.remove(commands.size() - 1);
             }
@@ -1275,12 +1275,12 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
         if (CMath.isInteger(itemID)) {
             final long num = CMath.s_long(itemID);
             if (mine instanceof MOB) {
-                List<Coins> V = CMLib.beanCounter().getStandardCurrency((MOB) mine, CMLib.beanCounter().getCurrency(mine));
+                List<Coins> V = CMLib.moneyCounter().getStandardCurrency((MOB) mine, CMLib.moneyCounter().getCurrency(mine));
                 for (int v = 0; v < V.size(); v++) {
                     if (V.get(v).getNumberOfCoins() >= num)
                         return num;
                 }
-                V = CMLib.beanCounter().getStandardCurrency((MOB) mine, null);
+                V = CMLib.moneyCounter().getStandardCurrency((MOB) mine, null);
                 for (int v = 0; v < V.size(); v++) {
                     if (V.get(v).getNumberOfCoins() >= num)
                         return num;
@@ -1297,7 +1297,7 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
             final String currency = matchAnyCurrencySet(CMParms.combine(V, 1));
             if (currency != null) {
                 if (mine instanceof MOB) {
-                    final List<Coins> V2 = CMLib.beanCounter().getStandardCurrency((MOB) mine, currency);
+                    final List<Coins> V2 = CMLib.moneyCounter().getStandardCurrency((MOB) mine, currency);
                     final double denomination = matchAnyDenomination(currency, CMParms.combine(V, 1));
                     Coins C = null;
                     for (int v2 = 0; v2 < V2.size(); v2++) {
@@ -1320,18 +1320,18 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
         if (CMath.isInteger(itemID)) {
             final long num = CMath.s_long(itemID);
             if (mine instanceof MOB) {
-                List<Coins> V = CMLib.beanCounter().getStandardCurrency((MOB) mine, CMLib.beanCounter().getCurrency(mine));
+                List<Coins> V = CMLib.moneyCounter().getStandardCurrency((MOB) mine, CMLib.moneyCounter().getCurrency(mine));
                 for (int v = 0; v < V.size(); v++) {
                     if (V.get(v).getNumberOfCoins() >= num)
                         return V.get(v).getCurrency();
                 }
-                V = CMLib.beanCounter().getStandardCurrency((MOB) mine, null);
+                V = CMLib.moneyCounter().getStandardCurrency((MOB) mine, null);
                 for (int v = 0; v < V.size(); v++) {
                     if (V.get(v).getNumberOfCoins() >= num)
                         return V.get(v).getCurrency();
                 }
             }
-            return CMLib.beanCounter().getCurrency(mine);
+            return CMLib.moneyCounter().getCurrency(mine);
         }
         final Vector<String> V = CMParms.parse(itemID);
         if ((V.size() > 1) && (CMath.isInteger(V.firstElement())))
@@ -1340,7 +1340,7 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
             return matchAnyCurrencySet(CMParms.combine(V, 1));
         else if (!V.isEmpty())
             return matchAnyCurrencySet(CMParms.combine(V, 0));
-        return CMLib.beanCounter().getCurrency(mine);
+        return CMLib.moneyCounter().getCurrency(mine);
     }
 
     @Override
@@ -1369,13 +1369,13 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
         if (CMath.isInteger(itemID)) {
             final long num = CMath.s_long(itemID);
             if (mine instanceof MOB) {
-                final List<Coins> V = CMLib.beanCounter().getStandardCurrency((MOB) mine, currency);
+                final List<Coins> V = CMLib.moneyCounter().getStandardCurrency((MOB) mine, currency);
                 for (int v = 0; v < V.size(); v++) {
                     if (V.get(v).getNumberOfCoins() >= num)
                         return V.get(v).getDenomination();
                 }
             }
-            return CMLib.beanCounter().getLowestDenomination(currency);
+            return CMLib.moneyCounter().getLowestDenomination(currency);
         }
         final Vector<String> V = CMParms.parse(itemID);
         if ((V.size() > 1) && (CMath.isInteger(V.firstElement())))
@@ -1389,10 +1389,10 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
 
     @Override
     public String matchAnyCurrencySet(String itemID) {
-        final List<String> V = CMLib.beanCounter().getAllCurrencies();
+        final List<String> V = CMLib.moneyCounter().getAllCurrencies();
         List<String> V2 = null;
         for (int v = 0; v < V.size(); v++) {
-            V2 = CMLib.beanCounter().getDenominationNameSet(V.get(v));
+            V2 = CMLib.moneyCounter().getDenominationNameSet(V.get(v));
             for (int v2 = 0; v2 < V2.size(); v2++) {
                 String s = V2.get(v2);
                 if (s.toLowerCase().endsWith("(s)"))
@@ -1406,7 +1406,7 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
 
     @Override
     public double matchAnyDenomination(String currency, String itemID) {
-        final MoneyLibrary.MoneyDenomination[] DV = CMLib.beanCounter().getCurrencySet(currency);
+        final MoneyLibrary.MoneyDenomination[] DV = CMLib.moneyCounter().getCurrencySet(currency);
         itemID = itemID.toUpperCase();
         String s = null;
         if (DV != null) {
@@ -1471,13 +1471,13 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
             itemID = itemID.substring(10);
         long gold = 0;
         double denomination = 0.0;
-        String currency = CMLib.beanCounter().getCurrency(mob);
+        String currency = CMLib.moneyCounter().getCurrency(mob);
         if (CMath.isInteger(itemID)) {
             gold = CMath.s_long(itemID);
-            //final double totalAmount=CMLib.beanCounter().getTotalAbsoluteValue(mob,currency);
-            double bestDenomination = CMLib.beanCounter().getBestDenomination(currency, (int) gold, gold);
+            //final double totalAmount=CMLib.moneyCounter().getTotalAbsoluteValue(mob,currency);
+            double bestDenomination = CMLib.moneyCounter().getBestDenomination(currency, (int) gold, gold);
             if (bestDenomination == 0.0) {
-                bestDenomination = CMLib.beanCounter().getBestDenomination(null, (int) gold, gold);
+                bestDenomination = CMLib.moneyCounter().getBestDenomination(null, (int) gold, gold);
                 if (bestDenomination > 0.0)
                     currency = null;
             }
@@ -1503,13 +1503,13 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
                 return null;
         }
         if (gold > 0) {
-            final double amt = CMLib.beanCounter().getTotalAbsoluteValue(mob, currency);
+            final double amt = CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency);
             if (amt >= CMath.mul(denomination, gold)) {
                 final double expectedAmt = amt - CMath.mul(denomination, gold);
-                CMLib.beanCounter().subtractMoney(mob, currency, denomination, CMath.mul(denomination, gold));
-                final double newAmt = CMLib.beanCounter().getTotalAbsoluteValue(mob, currency);
+                CMLib.moneyCounter().subtractMoney(mob, currency, denomination, CMath.mul(denomination, gold));
+                final double newAmt = CMLib.moneyCounter().getTotalAbsoluteValue(mob, currency);
                 if (newAmt > expectedAmt)
-                    CMLib.beanCounter().subtractMoney(mob, currency, (newAmt - expectedAmt));
+                    CMLib.moneyCounter().subtractMoney(mob, currency, (newAmt - expectedAmt));
                 final Coins C = (Coins) CMClass.getItem("StdCoins");
                 C.setCurrency(currency);
                 C.setDenomination(denomination);
@@ -1518,8 +1518,8 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
                 mob.addItem(C);
                 return C;
             }
-            mob.tell(L("You don't have that much @x1.", CMLib.beanCounter().getDenominationName(currency, denomination)));
-            final List<Coins> V = CMLib.beanCounter().getStandardCurrency(mob, currency);
+            mob.tell(L("You don't have that much @x1.", CMLib.moneyCounter().getDenominationName(currency, denomination)));
+            final List<Coins> V = CMLib.moneyCounter().getStandardCurrency(mob, currency);
             for (int v = 0; v < V.size(); v++) {
                 if (V.get(v).getDenomination() == denomination)
                     return V.get(v);
@@ -1676,7 +1676,7 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
     @Override
     public Triad<String, Double, Long> parseMoneyStringSDL(MOB mob, String amount, String correctCurrency) {
         double b = 0;
-        String myCurrency = CMLib.beanCounter().getCurrency(mob);
+        String myCurrency = CMLib.moneyCounter().getCurrency(mob);
         double denomination = 1.0;
         if (correctCurrency == null)
             correctCurrency = myCurrency;
@@ -1687,7 +1687,7 @@ public class EnglishParser extends StdLibrary implements EnglishParsing {
                 final long num = CMLib.english().numPossibleGold(null, amount);
                 b = CMath.mul(denomination, num);
             } else
-                myCurrency = CMLib.beanCounter().getCurrency(mob);
+                myCurrency = CMLib.moneyCounter().getCurrency(mob);
         }
         return new Triad<String, Double, Long>(myCurrency, Double.valueOf(denomination), Long.valueOf(Math.round(b / denomination)));
     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDFight.java b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDFight.java
index 3a17f68432..0626d1caf2 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDFight.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDFight.java
@@ -1239,8 +1239,8 @@ public class MUDFight extends StdLibrary implements CombatLibrary {
 
         dispenseExperience(beneficiaries, dividers, target);
 
-        final String currency = CMLib.beanCounter().getCurrency(target);
-        final double deadMoney = CMLib.beanCounter().getTotalAbsoluteValue(target, currency);
+        final String currency = CMLib.moneyCounter().getCurrency(target);
+        final double deadMoney = CMLib.moneyCounter().getTotalAbsoluteValue(target, currency);
         double myAmountOfDeadMoney = 0.0;
         final Vector<MOB> goldLooters = new Vector<MOB>();
         for (final MOB M : beneficiaries) {
@@ -1253,7 +1253,7 @@ public class MUDFight extends StdLibrary implements CombatLibrary {
         }
         if ((goldLooters.size() > 0) && (deadMoney > 0)) {
             myAmountOfDeadMoney = CMath.div(deadMoney, goldLooters.size());
-            CMLib.beanCounter().subtractMoney(target, deadMoney);
+            CMLib.moneyCounter().subtractMoney(target, deadMoney);
         }
 
         final int[] expLost = {100 * target.phyStats().level()};
@@ -1329,7 +1329,7 @@ public class MUDFight extends StdLibrary implements CombatLibrary {
             Coins C = null;
             if ((deadMoney > 0) && (myAmountOfDeadMoney > 0) && (body != null) && (bodyRoom != null))
                 for (int g = 0; g < goldLooters.size(); g++) {
-                    C = CMLib.beanCounter().makeBestCurrency(currency, myAmountOfDeadMoney, null, body);
+                    C = CMLib.moneyCounter().makeBestCurrency(currency, myAmountOfDeadMoney, null, body);
                     if (C != null) {
                         C.recoverPhyStats();
                         bodyRoom.addItem(C, ItemPossessor.Expire.Monster_EQ);
@@ -1943,7 +1943,7 @@ public class MUDFight extends StdLibrary implements CombatLibrary {
         final MOB deadmob = msg.source();
         if (!deadmob.amDead()) {
             if ((!deadmob.isMonster()) && (deadmob.soulMate() == null)) {
-                CMLib.coffeeTables().bump(deadmob, CoffeeTableRow.STAT_DEATHS);
+                CMLib.aetherTables().bump(deadmob, AetherTableRow.STAT_DEATHS);
                 final PlayerStats playerStats = deadmob.playerStats();
                 if (playerStats != null)
                     playerStats.setHygiene(0);
@@ -2015,7 +2015,7 @@ public class MUDFight extends StdLibrary implements CombatLibrary {
                 && (deadmob.soulMate() == null)
                 && (killer != deadmob) && (!killer.isMonster())) {
                 if (!deadmob.isMonster()) {
-                    CMLib.coffeeTables().bump(deadmob, CoffeeTableRow.STAT_PKDEATHS);
+                    CMLib.aetherTables().bump(deadmob, AetherTableRow.STAT_PKDEATHS);
                     if (killer.playerStats() != null)
                         CMLib.players().bumpPrideStat(killer, PrideStat.PVPKILLS, 1);
                 }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDHelp.java b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDHelp.java
index 2dbcb923da..8f8b0b5319 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDHelp.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDHelp.java
@@ -312,7 +312,7 @@ public class MUDHelp extends StdLibrary implements HelpLibrary {
 
     protected String columnHelper(String word, String msg, int wrap) {
         final StringBuilder prepend = new StringBuilder("");
-        final String[] maxStats = CMLib.coffeeFilter().wrapOnlyFilter(msg, wrap - 12);
+        final String[] maxStats = CMLib.aetherFilter().wrapOnlyFilter(msg, wrap - 12);
         for (final String s : maxStats) {
             prepend.append(CMStrings.padRight(word, 12)).append(s).append("\n\r");
             word = " ";
@@ -329,12 +329,12 @@ public class MUDHelp extends StdLibrary implements HelpLibrary {
             if ((forMOB == null) || (forMOB.location() == null) || (worldCurrency)) {
                 worldCurrency = true;
                 for (final Enumeration<Area> e = CMLib.map().areas(); e.hasMoreElements(); ) {
-                    final String currency = CMLib.beanCounter().getCurrency(e.nextElement());
+                    final String currency = CMLib.moneyCounter().getCurrency(e.nextElement());
                     if (!currencies.contains(currency))
                         currencies.addElement(currency);
                 }
             } else
-                currencies.addElement(CMLib.beanCounter().getCurrency(forMOB.location()));
+                currencies.addElement(CMLib.moneyCounter().getCurrency(forMOB.location()));
             final StringBuilder help = new StringBuilder("");
             if (worldCurrency)
                 help.append("\n\r" + CMStrings.padRight(L("World Currencies"), 20) + ":");
@@ -347,7 +347,7 @@ public class MUDHelp extends StdLibrary implements HelpLibrary {
                     help.append("default");
                 else
                     help.append(CMStrings.capitalizeAndLower(currency));
-                final MoneyLibrary.MoneyDenomination denoms[] = CMLib.beanCounter().getCurrencySet(currency);
+                final MoneyLibrary.MoneyDenomination denoms[] = CMLib.moneyCounter().getCurrencySet(currency);
                 if (denoms == null)
                     Log.errOut("Help", "Unknown currency: " + currency);
                 else {
@@ -356,10 +356,10 @@ public class MUDHelp extends StdLibrary implements HelpLibrary {
                             help.append("\n\r" + CMStrings.padRight(denom.name() + " (" + denom.abbr() + ")", 20) + ":");
                         else
                             help.append("\n\r" + CMStrings.padRight(denom.name(), 20) + ":");
-                        if (denom.value() == CMLib.beanCounter().getLowestDenomination(currency))
+                        if (denom.value() == CMLib.moneyCounter().getLowestDenomination(currency))
                             help.append(L(" (exchange rate is @x1 of base)", "" + denom.value()));
                         else
-                            help.append(" " + CMLib.beanCounter().getConvertableDescription(currency, denom.value()));
+                            help.append(" " + CMLib.moneyCounter().getConvertableDescription(currency, denom.value()));
                     }
                 }
                 help.append("\n\r");
@@ -773,7 +773,7 @@ public class MUDHelp extends StdLibrary implements HelpLibrary {
                 if (currency != null) {
                     final double denom = CMLib.english().matchAnyDenomination(currency, ahelpStr);
                     if (denom > 0.0) {
-                        final Coins C2 = CMLib.beanCounter().makeCurrency(currency, denom, 1);
+                        final Coins C2 = CMLib.moneyCounter().makeCurrency(currency, denom, 1);
                         if ((C2 != null) && (C2.description().length() > 0))
                             return new StringBuilder(C2.name() + " is " + C2.description().toLowerCase());
                     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDLaw.java b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDLaw.java
index 0084573a9e..304c68336a 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDLaw.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDLaw.java
@@ -649,7 +649,7 @@ public class MUDLaw extends StdLibrary implements LegalLibrary {
             M = R.fetchInhabitant(i);
             if ((M.getStartRoom() == R)
                 && (M.isMonster())
-                && (CMLib.coffeeShops().getShopKeeper(M) != null))
+                && (CMLib.aetherShops().getShopKeeper(M) != null))
                 return true;
         }
         return false;
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDPercolator.java b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDPercolator.java
index 8e60932b0b..92d8365953 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDPercolator.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDPercolator.java
@@ -22,7 +22,7 @@ import com.syncleus.aethermud.game.Areas.interfaces.Area;
 import com.syncleus.aethermud.game.Behaviors.interfaces.Behavior;
 import com.syncleus.aethermud.game.Common.interfaces.CharState;
 import com.syncleus.aethermud.game.Common.interfaces.CharStats;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeShop;
+import com.syncleus.aethermud.game.Common.interfaces.AetherShop;
 import com.syncleus.aethermud.game.Common.interfaces.PhyStats;
 import com.syncleus.aethermud.game.Exits.interfaces.Exit;
 import com.syncleus.aethermud.game.Items.interfaces.*;
@@ -920,12 +920,12 @@ public class MUDPercolator extends StdLibrary implements AreaGenerationLibrary {
             for (final GenericBuilder.GenMOBCode stat : GenericBuilder.GenMOBCode.values()) {
                 if (stat != GenericBuilder.GenMOBCode.ABILITY) // because this screws up gen hit points
                 {
-                    E.setStat(stat.name(), CMLib.coffeeMaker().getGenMobStat((MOB) E2, stat.name()));
+                    E.setStat(stat.name(), CMLib.aetherMaker().getGenMobStat((MOB) E2, stat.name()));
                 }
             }
         } else if ((E2 instanceof Item) && (!((Item) E2).isGeneric())) {
             for (final GenericBuilder.GenItemCode stat : GenericBuilder.GenItemCode.values()) {
-                E.setStat(stat.name(), CMLib.coffeeMaker().getGenItemStat((Item) E2, stat.name()));
+                E.setStat(stat.name(), CMLib.aetherMaker().getGenItemStat((Item) E2, stat.name()));
             }
         } else
             for (final String stat : E2.getStatCodes()) {
@@ -1113,7 +1113,7 @@ public class MUDPercolator extends StdLibrary implements AreaGenerationLibrary {
             A.setSavable(true);
             M.addAbility(A);
         }
-        final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+        final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
         if (SK != null) {
             final List<Triad<Environmental, Integer, Long>> iV = findShopInventory(M, piece, defined);
             if (iV.size() > 0)
@@ -1367,7 +1367,7 @@ public class MUDPercolator extends StdLibrary implements AreaGenerationLibrary {
 
     @SuppressWarnings("unchecked")
     protected List<ItemCraftor.ItemKeyPair> craftAllOfThisRecipe(ItemCraftor skill, int material, Map<String, Object> defined) {
-        List<ItemCraftor.ItemKeyPair> skillContents = (List<ItemCraftor.ItemKeyPair>) defined.get("____COFFEEMUD_" + skill.ID() + "_" + material + "_true");
+        List<ItemCraftor.ItemKeyPair> skillContents = (List<ItemCraftor.ItemKeyPair>) defined.get("____AETHERMUD_" + skill.ID() + "_" + material + "_true");
         if (skillContents == null) {
             if (material >= 0)
                 skillContents = skill.craftAllItemSets(material, true);
@@ -1375,7 +1375,7 @@ public class MUDPercolator extends StdLibrary implements AreaGenerationLibrary {
                 skillContents = skill.craftAllItemSets(true);
             if (skillContents == null)
                 return null;
-            defined.put("____COFFEEMUD_" + skill.ID() + "_" + material + "_true", skillContents);
+            defined.put("____AETHERMUD_" + skill.ID() + "_" + material + "_true", skillContents);
         }
         final List<ItemCraftor.ItemKeyPair> skillContentsCopy = new Vector<ItemCraftor.ItemKeyPair>(skillContents.size());
         skillContentsCopy.addAll(skillContents);
@@ -2650,10 +2650,10 @@ public class MUDPercolator extends StdLibrary implements AreaGenerationLibrary {
                             }
                         }
                     }
-                    final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(M);
+                    final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(M);
                     if (SK != null) {
-                        for (final Iterator<CoffeeShop.ShelfProduct> i = SK.getShop().getStoreShelves(); i.hasNext(); ) {
-                            final CoffeeShop.ShelfProduct P = i.next();
+                        for (final Iterator<AetherShop.ShelfProduct> i = SK.getShop().getStoreShelves(); i.hasNext(); ) {
+                            final AetherShop.ShelfProduct P = i.next();
                             final Environmental E2 = P.product;
                             if ((E2 instanceof Item) || (E2 instanceof MOB)) {
                                 final Physical P2 = (Physical) E2;
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDZapper.java b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDZapper.java
index 88bdff90ff..a9192e304c 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/MUDZapper.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/MUDZapper.java
@@ -4844,7 +4844,7 @@ public class MUDZapper extends StdLibrary implements MaskingLibrary {
                     case VALUE: // +value
                         if (E instanceof MOB) {
                             if ((entry.parms().length > 0)
-                                && (CMLib.beanCounter().getTotalAbsoluteValueAllCurrencies(mob) > (((Integer) entry.parms()[0]).intValue())))
+                                && (CMLib.moneyCounter().getTotalAbsoluteValueAllCurrencies(mob) > (((Integer) entry.parms()[0]).intValue())))
                                 return false;
                         } else {
                             if ((entry.parms().length > 0)
@@ -4855,7 +4855,7 @@ public class MUDZapper extends StdLibrary implements MaskingLibrary {
                     case _VALUE: // -value
                         if (E instanceof MOB) {
                             if ((entry.parms().length > 0)
-                                && (CMLib.beanCounter().getTotalAbsoluteValueAllCurrencies(mob) < (((Integer) entry.parms()[0]).intValue())))
+                                && (CMLib.moneyCounter().getTotalAbsoluteValueAllCurrencies(mob) < (((Integer) entry.parms()[0]).intValue())))
                                 return false;
                         } else {
                             if ((entry.parms().length > 0)
@@ -4935,7 +4935,7 @@ public class MUDZapper extends StdLibrary implements MaskingLibrary {
                         boolean found = false;
                         if (E instanceof Physical) {
                             for (int i = 0; i < entry.parms().length; i += 2) {
-                                if (CMLib.coffeeMaker().getAnyGenStat((Physical) E, (String) entry.parms()[i]).equalsIgnoreCase((String) entry.parms()[i + 1])) {
+                                if (CMLib.aetherMaker().getAnyGenStat((Physical) E, (String) entry.parms()[i]).equalsIgnoreCase((String) entry.parms()[i + 1])) {
                                     found = true;
                                     break;
                                 }
@@ -4955,7 +4955,7 @@ public class MUDZapper extends StdLibrary implements MaskingLibrary {
                     case IFSTAT: {
                         if (E instanceof Physical) {
                             for (int i = 0; i < entry.parms().length; i += 2) {
-                                if (CMLib.coffeeMaker().getAnyGenStat((Physical) E, (String) entry.parms()[i]).equalsIgnoreCase((String) entry.parms()[i + 1]))
+                                if (CMLib.aetherMaker().getAnyGenStat((Physical) E, (String) entry.parms()[i]).equalsIgnoreCase((String) entry.parms()[i + 1]))
                                     return false;
                             }
                         } else {
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/Quests.java b/src/main/java/com/syncleus/aethermud/game/Libraries/Quests.java
index a405253dd3..a9e49a24a5 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/Quests.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/Quests.java
@@ -1365,7 +1365,7 @@ public class Quests extends StdLibrary implements QuestManager {
         throws IOException {
         MOB M = null;
         final Vector<MOB> choices = new Vector<MOB>();
-        MOB baseM = ((showValue != null) ? baseM = CMLib.coffeeMaker().getMobFromXML(showValue) : null);
+        MOB baseM = ((showValue != null) ? baseM = CMLib.aetherMaker().getMobFromXML(showValue) : null);
         final StringBuffer choiceDescs = new StringBuffer("");
         if (baseM != null) {
             choices.addElement(baseM);
@@ -1412,7 +1412,7 @@ public class Quests extends StdLibrary implements QuestManager {
                 C.executeInternal(mob, 0, M);
             // modify it!
         }
-        final String newValue = (M != null) ? CMLib.coffeeMaker().getMobXML(M).toString() : showValue;
+        final String newValue = (M != null) ? CMLib.aetherMaker().getMobXML(M).toString() : showValue;
         for (int n = 0; n < newMobs.size(); n++) newMobs.elementAt(n).destroy();
         return newValue == null ? "" : newValue.trim();
     }
@@ -1429,7 +1429,7 @@ public class Quests extends StdLibrary implements QuestManager {
         throws IOException {
         Item I = null;
         final List<Item> choices = new Vector<Item>();
-        Item baseI = ((showValue != null) ? baseI = CMLib.coffeeMaker().getItemFromXML(showValue) : null);
+        Item baseI = ((showValue != null) ? baseI = CMLib.aetherMaker().getItemFromXML(showValue) : null);
         final StringBuffer choiceDescs = new StringBuffer("");
         if (baseI != null) {
             choices.add(baseI);
@@ -1477,7 +1477,7 @@ public class Quests extends StdLibrary implements QuestManager {
                 C.executeInternal(mob, 0, I);
             // modify it!
         }
-        final String newValue = (I != null) ? CMLib.coffeeMaker().getItemXML(I).toString() : showValue;
+        final String newValue = (I != null) ? CMLib.aetherMaker().getItemXML(I).toString() : showValue;
         for (int n = 0; n < newItems.size(); n++) newItems.get(n).destroy();
         return (newValue == null) ? "" : newValue.trim();
     }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/SMTPclient.java b/src/main/java/com/syncleus/aethermud/game/Libraries/SMTPclient.java
index 3622f10e26..512ca6da59 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/SMTPclient.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/SMTPclient.java
@@ -187,7 +187,7 @@ public class SMTPclient extends StdLibrary implements SMTPLibrary, SMTPLibrary.S
                 toEmail,
                 toEmail,
                 subj,
-                CMLib.coffeeFilter().simpleOutFilter(msg));
+                CMLib.aetherFilter().simpleOutFilter(msg));
             return true;
         } catch (final Exception e) {
             Log.errOut("SMTPClient", e.getMessage());
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/SlaveryParser.java b/src/main/java/com/syncleus/aethermud/game/Libraries/SlaveryParser.java
index b3c6e3b6f6..317426d4e8 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/SlaveryParser.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/SlaveryParser.java
@@ -625,7 +625,7 @@ public class SlaveryParser extends StdLibrary implements SlaveryLibrary {
                 if (CMSecurity.isDebugging(CMSecurity.DbgFlag.GEAS))
                     Log.debugOut("GEAS", "ITEMFIND: " + item);
                 if ((CMath.isNumber(item) && (CMath.s_int(item) > 0))) {
-                    if (CMLib.beanCounter().getTotalAbsoluteNativeValue(me) >= (CMath.s_int(item))) {
+                    if (CMLib.moneyCounter().getTotalAbsoluteNativeValue(me) >= (CMath.s_int(item))) {
                         step = Step.EVAL;
                         que.remove(0);
                         CMLib.commands().postSay(me, null, CMLib.lang().L("I got the money!"), false, false);
@@ -702,21 +702,21 @@ public class SlaveryParser extends StdLibrary implements SlaveryLibrary {
                                     break;
                             }
                         }
-                        final ShopKeeper sk = CMLib.coffeeShops().getShopKeeper(M);
+                        final ShopKeeper sk = CMLib.aetherShops().getShopKeeper(M);
                         if ((!item.equals("coins"))
                             && (sk != null)
                             && (sk.getShop().getStock(item, me) != null)) {
                             final Environmental E = sk.getShop().getStock(item, me);
                             if ((E != null) && (E instanceof Item)) {
-                                double price = CMLib.coffeeShops().sellingPrice(M, me, E, sk, true).absoluteGoldPrice;
-                                if (price <= CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(me, M)) {
+                                double price = CMLib.aetherShops().sellingPrice(M, me, E, sk, true).absoluteGoldPrice;
+                                if (price <= CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(me, M)) {
                                     me.enqueCommand(CMParms.parse("BUY \"" + E.name() + "\""), MUDCmdProcessor.METAFLAG_FORCED | MUDCmdProcessor.METAFLAG_ORDER, 0);
                                     step = Step.EVAL;
                                     return "HOLD";
                                 }
-                                price = price - CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(me, M);
-                                que.add(0, CMParms.parse("itemfind " + CMLib.beanCounter().nameCurrencyShort(M, price)));
-                                CMLib.commands().postSay(me, null, CMLib.lang().L("Damn, I need @x1.", CMLib.beanCounter().nameCurrencyShort(M, price)), false, false);
+                                price = price - CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(me, M);
+                                que.add(0, CMParms.parse("itemfind " + CMLib.moneyCounter().nameCurrencyShort(M, price)));
+                                CMLib.commands().postSay(me, null, CMLib.lang().L("Damn, I need @x1.", CMLib.moneyCounter().nameCurrencyShort(M, price)), false, false);
                                 step = Step.EVAL;
                                 return "HOLD";
                             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/Socials.java b/src/main/java/com/syncleus/aethermud/game/Libraries/Socials.java
index 77c13222df..c7520f935b 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/Socials.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/Socials.java
@@ -840,43 +840,43 @@ public class Socials extends StdLibrary implements SocialsList {
                 help.append("\n\r");
                 help.append("^H");
                 help.append("Target     ^?: ^xnone^.^N\n\r");
-                help.append("You see    : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, null, null, S.You_see(), false) + "\n\r");
-                help.append("Others see : " + CMLib.coffeeFilter().fullOutFilter(session, othMOB, mob, null, null, S.Third_party_sees(), false) + "\n\r");
+                help.append("You see    : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, null, null, S.You_see(), false) + "\n\r");
+                help.append("Others see : " + CMLib.aetherFilter().fullOutFilter(session, othMOB, mob, null, null, S.Third_party_sees(), false) + "\n\r");
             } else if (rest.equals("<T-NAME>")) {
                 help.append("\n\r");
                 help.append("^H");
                 help.append("Target     ^?: ^xsomeone^.^N\n\r");
-                help.append("No Target  : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.See_when_no_target(), false) + "\n\r");
-                help.append("You see    : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.You_see(), false) + "\n\r");
-                help.append("Target sees: " + CMLib.coffeeFilter().fullOutFilter(session, tgtMOB, mob, tgtMOB, null, S.Target_sees(), false) + "\n\r");
-                help.append("Others see : " + CMLib.coffeeFilter().fullOutFilter(session, othMOB, mob, tgtMOB, null, S.Third_party_sees(), false) + "\n\r");
+                help.append("No Target  : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.See_when_no_target(), false) + "\n\r");
+                help.append("You see    : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.You_see(), false) + "\n\r");
+                help.append("Target sees: " + CMLib.aetherFilter().fullOutFilter(session, tgtMOB, mob, tgtMOB, null, S.Target_sees(), false) + "\n\r");
+                help.append("Others see : " + CMLib.aetherFilter().fullOutFilter(session, othMOB, mob, tgtMOB, null, S.Third_party_sees(), false) + "\n\r");
             } else if (rest.equals("<I-NAME>")) {
                 help.append("\n\r");
                 help.append("^H");
                 help.append("Target     ^?: ^xroom item^.^N\n\r");
-                help.append("No Target  : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.See_when_no_target(), false) + "\n\r");
-                help.append("You see    : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.You_see(), false) + "\n\r");
-                help.append("Others see : " + CMLib.coffeeFilter().fullOutFilter(session, othMOB, mob, tgtMOB, null, S.Third_party_sees(), false) + "\n\r");
+                help.append("No Target  : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.See_when_no_target(), false) + "\n\r");
+                help.append("You see    : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.You_see(), false) + "\n\r");
+                help.append("Others see : " + CMLib.aetherFilter().fullOutFilter(session, othMOB, mob, tgtMOB, null, S.Third_party_sees(), false) + "\n\r");
             } else if (rest.equals("<V-NAME>")) {
                 help.append("\n\r");
                 help.append("^H");
                 help.append("Target     ^?: ^xinventory item^.^N\n\r");
-                help.append("No Target  : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.See_when_no_target(), false) + "\n\r");
-                help.append("You see    : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.You_see(), false) + "\n\r");
-                help.append("Others see : " + CMLib.coffeeFilter().fullOutFilter(session, othMOB, mob, tgtMOB, null, S.Third_party_sees(), false) + "\n\r");
+                help.append("No Target  : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.See_when_no_target(), false) + "\n\r");
+                help.append("You see    : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.You_see(), false) + "\n\r");
+                help.append("Others see : " + CMLib.aetherFilter().fullOutFilter(session, othMOB, mob, tgtMOB, null, S.Third_party_sees(), false) + "\n\r");
             } else if (rest.equals("<E-NAME>")) {
                 help.append("\n\r");
                 help.append("^H");
                 help.append("Target     ^?: ^xequipped item^.^N\n\r");
-                help.append("No Target  : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.See_when_no_target(), false) + "\n\r");
-                help.append("You see    : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.You_see(), false) + "\n\r");
-                help.append("Others see : " + CMLib.coffeeFilter().fullOutFilter(session, othMOB, mob, tgtMOB, null, S.Third_party_sees(), false) + "\n\r");
+                help.append("No Target  : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.See_when_no_target(), false) + "\n\r");
+                help.append("You see    : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, tgtMOB, null, S.You_see(), false) + "\n\r");
+                help.append("Others see : " + CMLib.aetherFilter().fullOutFilter(session, othMOB, mob, tgtMOB, null, S.Third_party_sees(), false) + "\n\r");
             } else {
                 help.append("\n\r");
                 help.append("^H");
                 help.append("Target     ^?: ^x" + rest.toLowerCase() + "^.^N\n\r");
-                help.append("You see    : " + CMLib.coffeeFilter().fullOutFilter(session, mob, mob, null, null, S.You_see(), false) + "\n\r");
-                help.append("Others see : " + CMLib.coffeeFilter().fullOutFilter(session, othMOB, mob, null, null, S.Third_party_sees(), false) + "\n\r");
+                help.append("You see    : " + CMLib.aetherFilter().fullOutFilter(session, mob, mob, null, null, S.You_see(), false) + "\n\r");
+                help.append("Others see : " + CMLib.aetherFilter().fullOutFilter(session, othMOB, mob, null, null, S.Third_party_sees(), false) + "\n\r");
             }
         }
         tgtMOB.destroy();
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/XMLManager.java b/src/main/java/com/syncleus/aethermud/game/Libraries/XMLManager.java
index acf0675ae8..e93c8df06d 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/XMLManager.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/XMLManager.java
@@ -53,7 +53,7 @@ public class XMLManager extends StdLibrary implements XMLLibrary {
         }
 
         try {
-            illegalTags = CMLib.coffeeFilter().getTagTable().keySet();
+            illegalTags = CMLib.aetherFilter().getTagTable().keySet();
         } catch (final Exception e) {
             illegalTags = new HashSet<String>();
         }
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/interfaces/DatabaseEngine.java b/src/main/java/com/syncleus/aethermud/game/Libraries/interfaces/DatabaseEngine.java
index a77d39b778..12fc8867a0 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/interfaces/DatabaseEngine.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/interfaces/DatabaseEngine.java
@@ -1711,11 +1711,11 @@ public interface DatabaseEngine extends CMLibrary {
      * @see DatabaseEngine#DBDeleteStat(long)
      * @see DatabaseEngine#DBCreateStat(long, long, String)
      * @see DatabaseEngine#DBReadStats(long, long)
-     * @see CoffeeTableRow
+     * @see AetherTableRow
      * @param startTime the timestamp of the day start
      * @return the row of data for that day.
      */
-    public CoffeeTableRow DBReadStat(long startTime);
+    public AetherTableRow DBReadStat(long startTime);
 
     /**
      * Table category: DBSTATS
@@ -1774,13 +1774,13 @@ public interface DatabaseEngine extends CMLibrary {
      * @see DatabaseEngine#DBDeleteStat(long)
      * @see DatabaseEngine#DBCreateStat(long, long, String)
      * @see DatabaseEngine#DBReadStat(long)
-     * @see CoffeeTableRow
+     * @see AetherTableRow
      *
      * @param startTime the timestamp of the first row
      * @param longTime 0, or the end time of the last row.
      * @return the group of statistics requested.
      */
-    public List<CoffeeTableRow> DBReadStats(long startTime, long endTime);
+    public List<AetherTableRow> DBReadStats(long startTime, long endTime);
 
     /**
      * Table category: DBPOLLS
diff --git a/src/main/java/com/syncleus/aethermud/game/Libraries/interfaces/ShoppingLibrary.java b/src/main/java/com/syncleus/aethermud/game/Libraries/interfaces/ShoppingLibrary.java
index 690e1c9202..1648a07bb1 100644
--- a/src/main/java/com/syncleus/aethermud/game/Libraries/interfaces/ShoppingLibrary.java
+++ b/src/main/java/com/syncleus/aethermud/game/Libraries/interfaces/ShoppingLibrary.java
@@ -17,8 +17,8 @@
 package com.syncleus.aethermud.game.Libraries.interfaces;
 
 import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
+import com.syncleus.aethermud.game.Common.interfaces.AetherShop;
 import com.syncleus.aethermud.game.Common.interfaces.AuctionData;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeShop;
 import com.syncleus.aethermud.game.Common.interfaces.TimeClock;
 import com.syncleus.aethermud.game.Items.interfaces.InnKey;
 import com.syncleus.aethermud.game.Items.interfaces.Item;
@@ -76,11 +76,11 @@ public interface ShoppingLibrary extends CMLibrary {
 
     public void purchaseAbility(Ability A, MOB seller, ShopKeeper shop, MOB mobFor);
 
-    public List<Environmental> addRealEstateTitles(List<Environmental> V, MOB buyer, CoffeeShop shop, Room myRoom);
+    public List<Environmental> addRealEstateTitles(List<Environmental> V, MOB buyer, AetherShop shop, Room myRoom);
 
     public boolean ignoreIfNecessary(MOB mob, String ignoreMask, MOB whoIgnores);
 
-    public String storeKeeperString(CoffeeShop shop);
+    public String storeKeeperString(AetherShop shop);
 
     public boolean doISellThis(Environmental thisThang, ShopKeeper shop);
 
diff --git a/src/main/java/com/syncleus/aethermud/game/Locales/StdRoom.java b/src/main/java/com/syncleus/aethermud/game/Locales/StdRoom.java
index 423d4fd898..7dc12705c4 100644
--- a/src/main/java/com/syncleus/aethermud/game/Locales/StdRoom.java
+++ b/src/main/java/com/syncleus/aethermud/game/Locales/StdRoom.java
@@ -390,7 +390,7 @@ public class StdRoom implements Room {
 
     @Override
     public String text() {
-        return CMLib.coffeeMaker().getPropertiesStr(this, true);
+        return CMLib.aetherMaker().getPropertiesStr(this, true);
     }
 
     @Override
@@ -401,7 +401,7 @@ public class StdRoom implements Room {
     @Override
     public void setMiscText(String newMiscText) {
         if (newMiscText.trim().length() > 0)
-            CMLib.coffeeMaker().setPropertiesStr(this, newMiscText, true);
+            CMLib.aetherMaker().setPropertiesStr(this, newMiscText, true);
     }
 
     @Override
@@ -663,7 +663,7 @@ public class StdRoom implements Room {
                 case CMMsg.TYP_SELL:
                 case CMMsg.TYP_VIEW:
                 case CMMsg.TYP_VALUE:
-                    if (CMLib.coffeeShops().getShopKeeper(this) == null) {
+                    if (CMLib.aetherShops().getShopKeeper(this) == null) {
                         mob.tell(L("You can't shop here."));
                         return false;
                     }
@@ -2580,7 +2580,7 @@ public class StdRoom implements Room {
             case 3:
                 return text();
             case 4:
-                return CMLib.coffeeMaker().getExtraEnvPropertiesStr(this);
+                return CMLib.aetherMaker().getExtraEnvPropertiesStr(this);
             case 5:
                 return rawImage();
             case 6:
@@ -2609,7 +2609,7 @@ public class StdRoom implements Room {
             case 4: {
                 delAllEffects(true);
                 delAllBehaviors();
-                CMLib.coffeeMaker().setExtraEnvProperties(this, CMLib.xml().parseAllXML(val));
+                CMLib.aetherMaker().setExtraEnvProperties(this, CMLib.xml().parseAllXML(val));
                 break;
             }
             case 5:
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/GenAuctioneer.java b/src/main/java/com/syncleus/aethermud/game/MOBS/GenAuctioneer.java
index b7f720cee9..8a55a4a550 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/GenAuctioneer.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/GenAuctioneer.java
@@ -57,9 +57,9 @@ public class GenAuctioneer extends StdAuctioneer {
     @Override
     public String text() {
         if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS))
-            miscText = CMLib.encoder().compressString(CMLib.coffeeMaker().getPropertiesStr(this, false));
+            miscText = CMLib.encoder().compressString(CMLib.aetherMaker().getPropertiesStr(this, false));
         else
-            miscText = CMLib.coffeeMaker().getPropertiesStr(this, false);
+            miscText = CMLib.aetherMaker().getPropertiesStr(this, false);
         return super.text();
     }
 
@@ -96,13 +96,13 @@ public class GenAuctioneer extends StdAuctioneer {
     @Override
     public void setMiscText(String newText) {
         super.setMiscText(newText);
-        CMLib.coffeeMaker().resetGenMOB(this, newText);
+        CMLib.aetherMaker().resetGenMOB(this, newText);
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenMobStat(this, code);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenMobStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + getWhatIsSoldMask();
@@ -131,8 +131,8 @@ public class GenAuctioneer extends StdAuctioneer {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenMobStat(this, code, val);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenMobStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0: {
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/GenBanker.java b/src/main/java/com/syncleus/aethermud/game/MOBS/GenBanker.java
index 7fe41f6625..16b9f8dded 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/GenBanker.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/GenBanker.java
@@ -53,9 +53,9 @@ public class GenBanker extends StdBanker {
     @Override
     public String text() {
         if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS))
-            miscText = CMLib.encoder().compressString(CMLib.coffeeMaker().getPropertiesStr(this, false));
+            miscText = CMLib.encoder().compressString(CMLib.aetherMaker().getPropertiesStr(this, false));
         else
-            miscText = CMLib.coffeeMaker().getPropertiesStr(this, false);
+            miscText = CMLib.aetherMaker().getPropertiesStr(this, false);
         return super.text();
     }
 
@@ -92,13 +92,13 @@ public class GenBanker extends StdBanker {
     @Override
     public void setMiscText(String newText) {
         super.setMiscText(newText);
-        CMLib.coffeeMaker().resetGenMOB(this, newText);
+        CMLib.aetherMaker().resetGenMOB(this, newText);
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenMobStat(this, code);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenMobStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + getWhatIsSoldMask();
@@ -123,8 +123,8 @@ public class GenBanker extends StdBanker {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenMobStat(this, code, val);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenMobStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0: {
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/GenDeity.java b/src/main/java/com/syncleus/aethermud/game/MOBS/GenDeity.java
index 613e4a754f..2e04776f14 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/GenDeity.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/GenDeity.java
@@ -52,22 +52,22 @@ public class GenDeity extends StdDeity {
     @Override
     public String text() {
         if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS))
-            miscText = CMLib.encoder().compressString(CMLib.coffeeMaker().getPropertiesStr(this, false));
+            miscText = CMLib.encoder().compressString(CMLib.aetherMaker().getPropertiesStr(this, false));
         else
-            miscText = CMLib.coffeeMaker().getPropertiesStr(this, false);
+            miscText = CMLib.aetherMaker().getPropertiesStr(this, false);
         return super.text();
     }
 
     @Override
     public void setMiscText(String newText) {
         super.setMiscText(newText);
-        CMLib.coffeeMaker().resetGenMOB(this, newText);
+        CMLib.aetherMaker().resetGenMOB(this, newText);
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenMobStat(this, code);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenMobStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return getClericRequirements();
@@ -86,8 +86,8 @@ public class GenDeity extends StdDeity {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenMobStat(this, code, val);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenMobStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/GenMob.java b/src/main/java/com/syncleus/aethermud/game/MOBS/GenMob.java
index d14eacc956..8272a51e85 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/GenMob.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/GenMob.java
@@ -53,29 +53,29 @@ public class GenMob extends StdMOB {
     @Override
     public String text() {
         if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS))
-            miscText = CMLib.encoder().compressString(CMLib.coffeeMaker().getPropertiesStr(this, false));
+            miscText = CMLib.encoder().compressString(CMLib.aetherMaker().getPropertiesStr(this, false));
         else
-            miscText = CMLib.coffeeMaker().getPropertiesStr(this, false);
+            miscText = CMLib.aetherMaker().getPropertiesStr(this, false);
         return super.text();
     }
 
     @Override
     public void setMiscText(String newText) {
         super.setMiscText(newText);
-        CMLib.coffeeMaker().resetGenMOB(this, newText);
+        CMLib.aetherMaker().resetGenMOB(this, newText);
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenMobStat(this, code);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenMobStat(this, code);
         return CMProps.getStatCodeExtensionValue(getStatCodes(), xtraValues, code);
     }
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenMobStat(this, code, val);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenMobStat(this, code, val);
         CMProps.setStatCodeExtensionValue(getStatCodes(), xtraValues, code, val);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/GenPostman.java b/src/main/java/com/syncleus/aethermud/game/MOBS/GenPostman.java
index 01f1dae5ff..2f9669a9d9 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/GenPostman.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/GenPostman.java
@@ -55,9 +55,9 @@ public class GenPostman extends StdPostman {
     @Override
     public String text() {
         if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS))
-            miscText = CMLib.encoder().compressString(CMLib.coffeeMaker().getPropertiesStr(this, false));
+            miscText = CMLib.encoder().compressString(CMLib.aetherMaker().getPropertiesStr(this, false));
         else
-            miscText = CMLib.coffeeMaker().getPropertiesStr(this, false);
+            miscText = CMLib.aetherMaker().getPropertiesStr(this, false);
         return super.text();
     }
 
@@ -94,13 +94,13 @@ public class GenPostman extends StdPostman {
     @Override
     public void setMiscText(String newText) {
         super.setMiscText(newText);
-        CMLib.coffeeMaker().resetGenMOB(this, newText);
+        CMLib.aetherMaker().resetGenMOB(this, newText);
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenMobStat(this, code);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenMobStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + getWhatIsSoldMask();
@@ -129,8 +129,8 @@ public class GenPostman extends StdPostman {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenMobStat(this, code, val);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenMobStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/GenRideable.java b/src/main/java/com/syncleus/aethermud/game/MOBS/GenRideable.java
index 45dbf01fd4..538b3f3273 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/GenRideable.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/GenRideable.java
@@ -55,22 +55,22 @@ public class GenRideable extends StdRideable {
     @Override
     public String text() {
         if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS))
-            miscText = CMLib.encoder().compressString(CMLib.coffeeMaker().getPropertiesStr(this, false));
+            miscText = CMLib.encoder().compressString(CMLib.aetherMaker().getPropertiesStr(this, false));
         else
-            miscText = CMLib.coffeeMaker().getPropertiesStr(this, false);
+            miscText = CMLib.aetherMaker().getPropertiesStr(this, false);
         return super.text();
     }
 
     @Override
     public void setMiscText(String newText) {
         super.setMiscText(newText);
-        CMLib.coffeeMaker().resetGenMOB(this, newText);
+        CMLib.aetherMaker().resetGenMOB(this, newText);
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenMobStat(this, code);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenMobStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + rideBasis();
@@ -83,8 +83,8 @@ public class GenRideable extends StdRideable {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenMobStat(this, code, val);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenMobStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0:
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/GenShopkeeper.java b/src/main/java/com/syncleus/aethermud/game/MOBS/GenShopkeeper.java
index 866496a7c2..9424720b21 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/GenShopkeeper.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/GenShopkeeper.java
@@ -86,22 +86,22 @@ public class GenShopkeeper extends StdShopKeeper {
     @Override
     public String text() {
         if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS))
-            miscText = CMLib.encoder().compressString(CMLib.coffeeMaker().getPropertiesStr(this, false));
+            miscText = CMLib.encoder().compressString(CMLib.aetherMaker().getPropertiesStr(this, false));
         else
-            miscText = CMLib.coffeeMaker().getPropertiesStr(this, false);
+            miscText = CMLib.aetherMaker().getPropertiesStr(this, false);
         return super.text();
     }
 
     @Override
     public void setMiscText(String newText) {
         super.setMiscText(newText);
-        CMLib.coffeeMaker().resetGenMOB(this, newText);
+        CMLib.aetherMaker().resetGenMOB(this, newText);
     }
 
     @Override
     public String getStat(String code) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            return CMLib.coffeeMaker().getGenMobStat(this, code);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            return CMLib.aetherMaker().getGenMobStat(this, code);
         switch (getCodeNum(code)) {
             case 0:
                 return "" + getWhatIsSoldMask();
@@ -124,8 +124,8 @@ public class GenShopkeeper extends StdShopKeeper {
 
     @Override
     public void setStat(String code, String val) {
-        if (CMLib.coffeeMaker().getGenMobCodeNum(code) >= 0)
-            CMLib.coffeeMaker().setGenMobStat(this, code, val);
+        if (CMLib.aetherMaker().getGenMobCodeNum(code) >= 0)
+            CMLib.aetherMaker().setGenMobStat(this, code, val);
         else
             switch (getCodeNum(code)) {
                 case 0: {
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/StdAuctioneer.java b/src/main/java/com/syncleus/aethermud/game/MOBS/StdAuctioneer.java
index eed3a5bb36..49dd1e5b9f 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/StdAuctioneer.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/StdAuctioneer.java
@@ -77,8 +77,8 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
     }
 
     @Override
-    public CoffeeShop getShop() {
-        final CoffeeShop shop = ((CoffeeShop) CMClass.getCommon("AuctionCoffeeShop")).build(this);
+    public AetherShop getShop() {
+        final AetherShop shop = ((AetherShop) CMClass.getCommon("AuctionAetherShop")).build(this);
         shop.addStoreInventory(null);
         return shop;
     }
@@ -174,32 +174,32 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                     StdAuctioneer.lastCheckTimes.remove(auctionHouse().toUpperCase().trim());
                     final long thisTime = System.currentTimeMillis();
                     StdAuctioneer.lastCheckTimes.put(auctionHouse().toUpperCase().trim(), Long.valueOf(thisTime));
-                    final List<AuctionData> auctions = CMLib.coffeeShops().getAuctions(null, auctionHouse());
+                    final List<AuctionData> auctions = CMLib.aetherShops().getAuctions(null, auctionHouse());
                     for (int a = 0; a < auctions.size(); a++) {
                         final AuctionData data = auctions.get(a);
                         if (thisTime >= data.getAuctionTickDown()) {
                             if ((lastTime == null) || (data.getAuctionTickDown() > lastTime.longValue())) {
                                 if (data.getHighBidderMob() != null) {
-                                    //CMLib.coffeeShops().returnMoney(data.getAuctioningM(),data.getCurrency(),finalAmount);
-                                    CMLib.coffeeShops().auctionNotify(data.getAuctioningMob(), "Your auction for " + data.getAuctionedItem().name() + " sold to "
-                                        + data.getHighBidderMob().Name() + " for " + CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), data.getBid())
+                                    //CMLib.aetherShops().returnMoney(data.getAuctioningM(),data.getCurrency(),finalAmount);
+                                    CMLib.aetherShops().auctionNotify(data.getAuctioningMob(), "Your auction for " + data.getAuctionedItem().name() + " sold to "
+                                        + data.getHighBidderMob().Name() + " for " + CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), data.getBid())
                                         + ".  When the high bidder comes to claim " + data.getHighBidderMob().charStats().hisher()
                                         + " property, you will automatically receive your payment along with another notice.", data.getAuctionedItem().Name());
-                                    CMLib.coffeeShops().auctionNotify(data.getHighBidderMob(), "You won the auction for " + data.getAuctionedItem().name() + " for "
-                                        + CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), data.getBid()) + ".  Your winnings, along with the " +
-                                        "difference from your high bid (" + CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), data.getHighBid() - data.getBid())
+                                    CMLib.aetherShops().auctionNotify(data.getHighBidderMob(), "You won the auction for " + data.getAuctionedItem().name() + " for "
+                                        + CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), data.getBid()) + ".  Your winnings, along with the " +
+                                        "difference from your high bid (" + CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), data.getHighBid() - data.getBid())
                                         + ") will be given to you as soon as you claim your property.  To claim your winnings, come to " + name()
                                         + " at " + location().displayText(data.getAuctioningMob()) + " and enter the BUY command for the item again (you " +
                                         "will not be charged).", data.getAuctionedItem().Name());
                                 } else if (data.getAuctioningMob() != null) {
-                                    CMLib.coffeeShops().auctionNotify(data.getAuctioningMob(), "Your auction for " + data.getAuctionedItem().name() + " went unsold.  '" + data.getAuctionedItem().name()
+                                    CMLib.aetherShops().auctionNotify(data.getAuctioningMob(), "Your auction for " + data.getAuctionedItem().name() + " went unsold.  '" + data.getAuctionedItem().name()
                                         + "' has been automatically returned to your inventory.", data.getAuctionedItem().Name());
                                     data.getAuctioningMob().moveItemTo(data.getAuctionedItem());
                                     if (!CMLib.flags().isInTheGame(data.getAuctioningMob(), true))
                                         CMLib.database().DBUpdatePlayerItems(data.getAuctioningMob());
-                                    CMLib.coffeeShops().cancelAuction(auctionHouse(), data);
+                                    CMLib.aetherShops().cancelAuction(auctionHouse(), data);
                                 } else {
-                                    CMLib.coffeeShops().cancelAuction(auctionHouse(), data);
+                                    CMLib.aetherShops().cancelAuction(auctionHouse(), data);
                                 }
                             }
                         }
@@ -279,8 +279,8 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                         }
                         double deposit = aRates.timedListingPrice();
                         deposit += (aRates.timedListingPct() * (CMath.mul(days, I.baseGoldValue())));
-                        final String depositAmt = CMLib.beanCounter().nameCurrencyLong(mob, deposit);
-                        if (CMLib.beanCounter().getTotalAbsoluteValue(mob, CMLib.beanCounter().getCurrency(mob)) < deposit) {
+                        final String depositAmt = CMLib.moneyCounter().nameCurrencyLong(mob, deposit);
+                        if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, CMLib.moneyCounter().getCurrency(mob)) < deposit) {
                             CMLib.commands().postSay(this, mob, L("You don't have enough to cover the listing fee of @x1.  Sell a cheaper item, use fewer days, or come back later.", depositAmt), true, false);
                             return false;
                         }
@@ -294,7 +294,7 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                         lastMsgData = (AuctionData) CMClass.getCommon("DefaultAuction");
                         lastMsgData.setAuctionedItem((Item) msg.tool());
                         lastMsgData.setAuctioningMob(msg.source());
-                        lastMsgData.setCurrency(CMLib.beanCounter().getCurrency(msg.source()));
+                        lastMsgData.setCurrency(CMLib.moneyCounter().getCurrency(msg.source()));
                         Area area = CMLib.map().getStartArea(this);
                         if (area == null)
                             area = CMLib.map().getStartArea(msg.source());
@@ -304,7 +304,7 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                     return false;
                 case CMMsg.TYP_BID:
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                        if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                             return false;
                         if ((msg.targetMinor() == CMMsg.TYP_BUY) && (msg.tool() != null) && (!msg.tool().okMessage(myHost, msg)))
                             return false;
@@ -321,9 +321,9 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                         String itemName = msg.tool().name();
                         if ((((Item) msg.tool()).expirationDate() > 0) && (((Item) msg.tool()).expirationDate() < 1000))
                             itemName += "." + ((Item) msg.tool()).expirationDate();
-                        AuctionData data = CMLib.coffeeShops().getEnumeratedAuction(itemName, auctionHouse());
+                        AuctionData data = CMLib.aetherShops().getEnumeratedAuction(itemName, auctionHouse());
                         if (data == null)
-                            data = CMLib.coffeeShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
+                            data = CMLib.aetherShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
                         if (data == null) {
                             CMLib.commands().postSay(this, mob, L("That's not up for auction."), true, false);
                             return false;
@@ -357,12 +357,12 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                             final long myCoins = bidAmts.third.longValue();
                             final double bid = CMath.mul(myCoins, myDenomination);
                             if (!myCurrency.equals(data.getCurrency())) {
-                                final String currencyName = CMLib.beanCounter().getDenominationName(data.getCurrency());
+                                final String currencyName = CMLib.moneyCounter().getDenominationName(data.getCurrency());
                                 CMLib.commands().postSay(this, mob, L("This auction is being handled in @x1.", currencyName), true, false);
                                 return false;
                             }
-                            if (CMLib.beanCounter().getTotalAbsoluteValue(mob, data.getCurrency()) < bid) {
-                                final String currencyName = CMLib.beanCounter().getDenominationName(data.getCurrency());
+                            if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, data.getCurrency()) < bid) {
+                                final String currencyName = CMLib.moneyCounter().getDenominationName(data.getCurrency());
                                 CMLib.commands().postSay(this, mob, L("You don't have enough @x1 on hand to cover your bid.", currencyName), true, false);
                                 return false;
                             }
@@ -372,7 +372,7 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                     return false;
                 case CMMsg.TYP_BUY:
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                        if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                             return false;
                         if ((msg.targetMinor() == CMMsg.TYP_BUY) && (msg.tool() != null) && (!msg.tool().okMessage(myHost, msg)))
                             return false;
@@ -384,9 +384,9 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                         String itemName = msg.tool().name();
                         if ((((Item) msg.tool()).expirationDate() > 0) && (((Item) msg.tool()).expirationDate() < 1000))
                             itemName += "." + ((Item) msg.tool()).expirationDate();
-                        AuctionData data = CMLib.coffeeShops().getEnumeratedAuction(itemName, auctionHouse());
+                        AuctionData data = CMLib.aetherShops().getEnumeratedAuction(itemName, auctionHouse());
                         if (data == null)
-                            data = CMLib.coffeeShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
+                            data = CMLib.aetherShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
                         if (data == null) {
                             CMLib.commands().postSay(this, mob, L("That's not up for auction."), true, false);
                             return false;
@@ -416,8 +416,8 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                             if (data.getBuyOutPrice() <= 0.0) {
                                 CMLib.commands().postSay(this, mob, L("You'll have to BID on that.  BUY is not available for that particular item."), true, false);
                                 return false;
-                            } else if (CMLib.beanCounter().getTotalAbsoluteValue(mob, data.getCurrency()) < data.getBuyOutPrice()) {
-                                final String currencyName = CMLib.beanCounter().getDenominationName(data.getCurrency());
+                            } else if (CMLib.moneyCounter().getTotalAbsoluteValue(mob, data.getCurrency()) < data.getBuyOutPrice()) {
+                                final String currencyName = CMLib.moneyCounter().getDenominationName(data.getCurrency());
                                 CMLib.commands().postSay(this, mob, L("You don't have enough @x1 on hand to buy that.", currencyName), true, false);
                                 return false;
                             }
@@ -427,14 +427,14 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                     return false;
                 case CMMsg.TYP_VALUE:
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                        if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                             return false;
                         return super.okMessage(myHost, msg);
                     }
                     return false;
                 case CMMsg.TYP_VIEW:
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                        if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                             return false;
                         return super.okMessage(myHost, msg);
                     }
@@ -460,10 +460,10 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                             CMLib.commands().postSay(this, mob, L("I'm confused. Please try to SELL again."), true, false);
                         } else
                             try {
-                                final double lowestDenom = CMLib.beanCounter().getLowestDenomination(thisData.getCurrency());
-                                CMLib.commands().postSay(this, mob, L("What would you like your opening price to be (in @x1?", CMLib.beanCounter().getDenominationName(thisData.getCurrency(), lowestDenom)), true, false);
+                                final double lowestDenom = CMLib.moneyCounter().getLowestDenomination(thisData.getCurrency());
+                                CMLib.commands().postSay(this, mob, L("What would you like your opening price to be (in @x1?", CMLib.moneyCounter().getDenominationName(thisData.getCurrency(), lowestDenom)), true, false);
                                 final String openPrice = mob.session().prompt(": ", 30000);
-                                CMLib.commands().postSay(this, mob, L("What would you like your buy-now price to be (in @x1?", CMLib.beanCounter().getDenominationName(thisData.getCurrency(), lowestDenom)), true, false);
+                                CMLib.commands().postSay(this, mob, L("What would you like your buy-now price to be (in @x1?", CMLib.moneyCounter().getDenominationName(thisData.getCurrency(), lowestDenom)), true, false);
                                 final String buyPrice = mob.session().prompt(": ", 30000);
                                 thisData.setBid(CMath.s_double(openPrice) * lowestDenom);
                                 if (thisData.getBid() < 0.0)
@@ -472,13 +472,13 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                                 if (thisData.getBuyOutPrice() <= 0.0)
                                     thisData.setBuyOutPrice(-1.0);
                                 thisData.setStartTime(System.currentTimeMillis());
-                                CMLib.coffeeShops().saveAuction(thisData, auctionHouse(), false);
+                                CMLib.aetherShops().saveAuction(thisData, auctionHouse(), false);
                                 CMLib.commands().postChannel(this, "AUCTION", L("New @x1 day auction: @x2", "" + thisData.daysRemaining(thisData.getAuctioningMob(), msg.source()), thisData.getAuctionedItem().name()), true);
                                 final AuctionPolicy aRates = (AuctionPolicy) CMClass.getCommon("DefaultAuctionPolicy");
                                 aRates.mergeAuctioneerPolicy(this);
                                 double deposit = aRates.timedListingPrice();
                                 deposit += (aRates.timedListingPct() * (CMath.mul(thisData.daysRemaining(mob, this), thisData.getAuctionedItem().baseGoldValue())));
-                                CMLib.beanCounter().subtractMoney(mob, deposit);
+                                CMLib.moneyCounter().subtractMoney(mob, deposit);
                                 thisData.getAuctionedItem().destroy();
                                 CMLib.commands().postSay(this, mob, L("Your auction for @x1 is now open.  When it is done, you will receive either your winnings automatically, or the returned item automatically.", thisData.getAuctionedItem().name()), true, false);
                             } catch (final Exception e) {
@@ -493,28 +493,28 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                             String itemName = msg.tool().name();
                             if ((((Item) msg.tool()).expirationDate() > 0) && (((Item) msg.tool()).expirationDate() < 1000))
                                 itemName += "." + ((Item) msg.tool()).expirationDate();
-                            AuctionData data = CMLib.coffeeShops().getEnumeratedAuction(itemName, auctionHouse());
+                            AuctionData data = CMLib.aetherShops().getEnumeratedAuction(itemName, auctionHouse());
                             if (data == null)
-                                data = CMLib.coffeeShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
+                                data = CMLib.aetherShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
                             if (data == null)
                                 CMLib.commands().postSay(this, mob, L("That's not up for auction."), true, false);
                             else if (data.getAuctioningMob() == mob) {
-                                CMLib.coffeeShops().cancelAuction(auctionHouse(), data);
+                                CMLib.aetherShops().cancelAuction(auctionHouse(), data);
                                 CMLib.commands().postSay(this, mob, L("Your auction for @x1 has been canceled.", data.getAuctionedItem().name()), true, false);
                             } else if ((System.currentTimeMillis() >= data.getAuctionTickDown()) && (data.getHighBidderMob() == mob)) {
                                 final AuctionPolicy aRates = (AuctionPolicy) CMClass.getCommon("DefaultAuctionPolicy");
                                 aRates.mergeAuctioneerPolicy(this);
                                 final double houseCut = Math.floor(data.getBid() * aRates.timedFinalCutPct());
                                 final double finalAmount = data.getBid() - houseCut;
-                                CMLib.coffeeShops().returnMoney(data.getAuctioningMob(), data.getCurrency(), finalAmount);
-                                CMLib.coffeeShops().auctionNotify(data.getAuctioningMob(), data.getHighBidderMob().Name() + ", who won your auction for " + data.getAuctionedItem().name() + " has claimed " + data.getHighBidderMob().charStats().hisher() + " property.  You have been credited with " + CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), finalAmount) + ", after the house took a cut of " + CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), houseCut) + ".", data.getAuctionedItem().Name());
-                                //CMLib.coffeeShops().auctionNotify(data.getHighBidderM(),"You won the auction for "+data.getAuctioningI().name()+" for "+CMLib.beanCounter().nameCurrencyShort(data.getCurrency(),data.getBid())+".  The difference from your high bid ("+CMLib.beanCounter().nameCurrencyShort(data.getCurrency(),data.getHighBid()-data.getBid())+") has been returned to you along with the winning item.",data.getAuctioningI().Name());
+                                CMLib.aetherShops().returnMoney(data.getAuctioningMob(), data.getCurrency(), finalAmount);
+                                CMLib.aetherShops().auctionNotify(data.getAuctioningMob(), data.getHighBidderMob().Name() + ", who won your auction for " + data.getAuctionedItem().name() + " has claimed " + data.getHighBidderMob().charStats().hisher() + " property.  You have been credited with " + CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), finalAmount) + ", after the house took a cut of " + CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), houseCut) + ".", data.getAuctionedItem().Name());
+                                //CMLib.aetherShops().auctionNotify(data.getHighBidderM(),"You won the auction for "+data.getAuctioningI().name()+" for "+CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(),data.getBid())+".  The difference from your high bid ("+CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(),data.getHighBid()-data.getBid())+") has been returned to you along with the winning item.",data.getAuctioningI().Name());
                                 if ((data.getHighBid() - data.getBid()) > 0.0)
-                                    CMLib.commands().postSay(this, mob, L("Congratulations, and here is your @x1 in change as well.", CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), data.getHighBid() - data.getBid())), true, false);
+                                    CMLib.commands().postSay(this, mob, L("Congratulations, and here is your @x1 in change as well.", CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), data.getHighBid() - data.getBid())), true, false);
                                 else
                                     CMLib.commands().postSay(this, mob, L("Congratulations!"), true, false);
-                                CMLib.coffeeShops().returnMoney(mob, data.getCurrency(), data.getHighBid() - data.getBid());
-                                CMLib.coffeeShops().purchaseItems(data.getAuctionedItem(), new XVector<Environmental>(data.getAuctionedItem()), this, mob);
+                                CMLib.aetherShops().returnMoney(mob, data.getCurrency(), data.getHighBid() - data.getBid());
+                                CMLib.aetherShops().purchaseItems(data.getAuctionedItem(), new XVector<Environmental>(data.getAuctionedItem()), this, mob);
                                 if (!CMath.bset(msg.targetMajor(), CMMsg.MASK_OPTIMIZE))
                                     mob.location().recoverRoomStats();
                                 CMLib.database().DBDeleteJournal(auctionHouse(), data.getAuctionDBKey());
@@ -523,10 +523,10 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                                 aRates.mergeAuctioneerPolicy(this);
                                 final double houseCut = Math.floor(data.getBuyOutPrice() * aRates.timedFinalCutPct());
                                 final double finalAmount = data.getBuyOutPrice() - houseCut;
-                                CMLib.coffeeShops().returnMoney(data.getAuctioningMob(), data.getCurrency(), finalAmount);
-                                CMLib.coffeeShops().auctionNotify(data.getAuctioningMob(), "Your auction for " + data.getAuctionedItem().name() + " sold to " + mob.Name() + " for " + CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), data.getBuyOutPrice()) + ", after the house took a cut of " + CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), houseCut) + ".", data.getAuctionedItem().Name());
-                                CMLib.beanCounter().subtractMoney(mob, data.getCurrency(), data.getBuyOutPrice());
-                                CMLib.coffeeShops().purchaseItems(data.getAuctionedItem(), new XVector<Environmental>(data.getAuctionedItem()), this, mob);
+                                CMLib.aetherShops().returnMoney(data.getAuctioningMob(), data.getCurrency(), finalAmount);
+                                CMLib.aetherShops().auctionNotify(data.getAuctioningMob(), "Your auction for " + data.getAuctionedItem().name() + " sold to " + mob.Name() + " for " + CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), data.getBuyOutPrice()) + ", after the house took a cut of " + CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), houseCut) + ".", data.getAuctionedItem().Name());
+                                CMLib.moneyCounter().subtractMoney(mob, data.getCurrency(), data.getBuyOutPrice());
+                                CMLib.aetherShops().purchaseItems(data.getAuctionedItem(), new XVector<Environmental>(data.getAuctionedItem()), this, mob);
                                 CMLib.database().DBDeleteJournal(auctionHouse(), data.getAuctionDBKey());
                             }
                         } else
@@ -540,13 +540,13 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                             String itemName = msg.tool().name();
                             if ((((Item) msg.tool()).expirationDate() > 0) && (((Item) msg.tool()).expirationDate() < 1000))
                                 itemName += "." + ((Item) msg.tool()).expirationDate();
-                            AuctionData data = CMLib.coffeeShops().getEnumeratedAuction(itemName, auctionHouse());
+                            AuctionData data = CMLib.aetherShops().getEnumeratedAuction(itemName, auctionHouse());
                             if (data == null)
-                                data = CMLib.coffeeShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
+                                data = CMLib.aetherShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
                             if (data == null)
                                 CMLib.commands().postSay(this, mob, L("That's not up for auction."), true, false);
                             else if (data.getAuctioningMob() == mob) {
-                                CMLib.coffeeShops().cancelAuction(auctionHouse(), data);
+                                CMLib.aetherShops().cancelAuction(auctionHouse(), data);
                                 CMLib.commands().postSay(this, mob, L("Your auction for @x1 has been canceled.", data.getAuctionedItem().name()), true, false);
                             } else {
                                 final String bidStr = parseBidString(msg.targetMessage());
@@ -562,15 +562,15 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                                 final MOB M = data.getHighBidderMob();
                                 final double oldBid = data.getBid();
                                 final double oldMaxBid = data.getHighBid();
-                                final String[] resp = CMLib.coffeeShops().bid(mob, bid, myCurrency, data, data.getAuctionedItem(), new Vector<String>(0));
+                                final String[] resp = CMLib.aetherShops().bid(mob, bid, myCurrency, data, data.getAuctionedItem(), new Vector<String>(0));
                                 if (resp != null) {
                                     if (resp[0] != null)
                                         mob.tell(resp[0]);
                                     if ((resp[1] != null) && (M != null))
-                                        CMLib.coffeeShops().auctionNotify(M, resp[1], data.getAuctionedItem().name());
+                                        CMLib.aetherShops().auctionNotify(M, resp[1], data.getAuctionedItem().name());
                                 }
                                 if ((oldBid != data.getBid()) || (oldMaxBid != data.getHighBid()))
-                                    CMLib.coffeeShops().saveAuction(data, auctionHouse(), true);
+                                    CMLib.aetherShops().saveAuction(data, auctionHouse(), true);
                             }
                         } else
                             CMLib.commands().postSay(this, mob, L("I can't seem to auction @x1.", msg.tool().name()), true, false);
@@ -589,17 +589,17 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                         String itemName = msg.tool().name();
                         if ((((Item) msg.tool()).expirationDate() > 0) && (((Item) msg.tool()).expirationDate() < 1000))
                             itemName += "." + ((Item) msg.tool()).expirationDate();
-                        AuctionData data = CMLib.coffeeShops().getEnumeratedAuction(itemName, auctionHouse());
+                        AuctionData data = CMLib.aetherShops().getEnumeratedAuction(itemName, auctionHouse());
                         if (data == null)
-                            data = CMLib.coffeeShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
+                            data = CMLib.aetherShops().getEnumeratedAuction(msg.tool().name(), auctionHouse());
                         if (data == null)
                             CMLib.commands().postSay(this, mob, L("That's not up for auction."), true, false);
                         else {
-                            final String price = CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), data.getBid());
-                            final String buyOut = (data.getBuyOutPrice() <= 0.0) ? null : CMLib.beanCounter().nameCurrencyShort(data.getCurrency(), data.getBuyOutPrice());
+                            final String price = CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), data.getBid());
+                            final String buyOut = (data.getBuyOutPrice() <= 0.0) ? null : CMLib.moneyCounter().nameCurrencyShort(data.getCurrency(), data.getBuyOutPrice());
                             final StringBuffer str = new StringBuffer(
                                 L("Interested in @x2? Here is some information for you: @x1\n\r\n\rThe current bid on @x2 is @x3. Use the BID command to place your own bid.  ",
-                                    CMLib.coffeeShops().getViewDescription(mob, msg.tool()), msg.tool().name(), price));
+                                    CMLib.aetherShops().getViewDescription(mob, msg.tool()), msg.tool().name(), price));
                             if (buyOut != null)
                                 str.append(L("You may also buy this item immediately for @x1 by using the BUY command.", buyOut));
                             CMLib.commands().postSay(this, mob, str.toString(), true, false);
@@ -609,8 +609,8 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
                 case CMMsg.TYP_LIST: {
                     super.executeMsg(myHost, msg);
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        final String forMask = CMLib.coffeeShops().getListForMask(msg.targetMessage());
-                        final String s = CMLib.coffeeShops().getAuctionInventory(this, mob, this, forMask);
+                        final String forMask = CMLib.aetherShops().getListForMask(msg.targetMessage());
+                        final String s = CMLib.aetherShops().getAuctionInventory(this, mob, this, forMask);
                         if (s.length() > 0)
                             mob.tell(s);
                     }
@@ -626,12 +626,12 @@ public class StdAuctioneer extends StdMOB implements Auctioneer {
 
     @Override
     public String storeKeeperString() {
-        return CMLib.coffeeShops().storeKeeperString(getShop());
+        return CMLib.aetherShops().storeKeeperString(getShop());
     }
 
     @Override
     public boolean doISellThis(Environmental thisThang) {
-        return CMLib.coffeeShops().doISellThis(thisThang, this);
+        return CMLib.aetherShops().doISellThis(thisThang, this);
     }
 
     protected Area getStartArea() {
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/StdBanker.java b/src/main/java/com/syncleus/aethermud/game/MOBS/StdBanker.java
index 5ed87713a0..ffbcc21c26 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/StdBanker.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/StdBanker.java
@@ -106,9 +106,9 @@ public class StdBanker extends StdShopKeeper implements Banker {
         final String key = "" + item + item.hashCode();
         if (container != null) {
             final String containerKey = "" + container + container.hashCode();
-            CMLib.database().DBCreatePlayerData(depositorName, bankChain(), key, classID + ";CONTAINER=" + containerKey + ";" + CMLib.coffeeMaker().getPropertiesStr(item, true));
+            CMLib.database().DBCreatePlayerData(depositorName, bankChain(), key, classID + ";CONTAINER=" + containerKey + ";" + CMLib.aetherMaker().getPropertiesStr(item, true));
         } else
-            CMLib.database().DBCreatePlayerData(depositorName, bankChain(), key, classID + ";" + CMLib.coffeeMaker().getPropertiesStr(item, true));
+            CMLib.database().DBCreatePlayerData(depositorName, bankChain(), key, classID + ";" + CMLib.aetherMaker().getPropertiesStr(item, true));
     }
 
     protected Pair<Item, String> makeItemContainer(String data) {
@@ -130,7 +130,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
                     xml = xml.substring(x + 1);
                 }
             }
-            CMLib.coffeeMaker().setPropertiesStr(I, xml, true);
+            CMLib.aetherMaker().setPropertiesStr(I, xml, true);
             if ((I instanceof Coins)
                 && (((Coins) I).getDenomination() == 0.0)
                 && (((Coins) I).getNumberOfCoins() > 0))
@@ -284,7 +284,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
 
     protected void bankLedger(String depositorName, String msg) {
         final String date = CMLib.utensils().getFormattedDate(this);
-        CMLib.beanCounter().bankLedger(bankChain(), depositorName, date + ": " + msg);
+        CMLib.moneyCounter().bankLedger(bankChain(), depositorName, date + ": " + msg);
     }
 
     @Override
@@ -349,7 +349,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
 
     @Override
     public MoneyLibrary.DebtItem getDebtInfo(String depositorName) {
-        final Vector<MoneyLibrary.DebtItem> debt = CMLib.beanCounter().getDebtOwed(bankChain());
+        final Vector<MoneyLibrary.DebtItem> debt = CMLib.moneyCounter().getDebtOwed(bankChain());
         if (depositorName.length() == 0)
             return null;
         for (int d = 0; d < debt.size(); d++) {
@@ -389,7 +389,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
                         userNames.addElement(name);
                 }
             }
-            final Vector<MoneyLibrary.DebtItem> debts = CMLib.beanCounter().getDebtOwed(bankChain());
+            final Vector<MoneyLibrary.DebtItem> debts = CMLib.moneyCounter().getDebtOwed(bankChain());
             for (int u = 0; u < userNames.size(); u++) {
                 final String name = userNames.elementAt(u);
                 Coins coinItem = null;
@@ -423,11 +423,11 @@ public class StdBanker extends StdShopKeeper implements Banker {
                         else {
                             final double amtDueNow = (timeRemaining < 0) ? (dueAmount + intDue) : CMath.div((dueAmount + intDue), (timeRemaining / timeInterval));
                             if (newBalance >= amtDueNow) {
-                                CMLib.beanCounter().bankLedger(bankChain(), name, CMLib.utensils().getFormattedDate(this) + ": Withdrawal of " + CMLib.beanCounter().nameCurrencyShort(this, amtDueNow) + ": Loan payment made.");
-                                CMLib.beanCounter().adjustDebt(debtor, bankChain(), intDue - amtDueNow, reason, intRate, debtDueAt);
+                                CMLib.moneyCounter().bankLedger(bankChain(), name, CMLib.utensils().getFormattedDate(this) + ": Withdrawal of " + CMLib.moneyCounter().nameCurrencyShort(this, amtDueNow) + ": Loan payment made.");
+                                CMLib.moneyCounter().adjustDebt(debtor, bankChain(), intDue - amtDueNow, reason, intRate, debtDueAt);
                                 newBalance -= amtDueNow;
                             } else
-                                CMLib.beanCounter().adjustDebt(debtor, bankChain(), intDue, reason, intRate, debtDueAt);
+                                CMLib.moneyCounter().adjustDebt(debtor, bankChain(), intDue, reason, intRate, debtDueAt);
                         }
                         debts.removeElementAt(d);
                     }
@@ -444,17 +444,17 @@ public class StdBanker extends StdShopKeeper implements Banker {
                             getShop().addStoreInventory(I);
                     }
                     delAllDeposits(name);
-                    CMLib.beanCounter().delAllDebt(name, bankChain());
+                    CMLib.moneyCounter().delAllDebt(name, bankChain());
                 } else if ((coinItem == null) || (newBalance != coinItem.getTotalValue())) {
                     if (coinItem != null) {
                         if (newBalance > coinItem.getTotalValue())
-                            CMLib.beanCounter().bankLedger(bankChain(), name, CMLib.utensils().getFormattedDate(this) + ": Deposit of " + CMLib.beanCounter().nameCurrencyShort(this, newBalance - coinItem.getTotalValue()) + ": Interest paid.");
+                            CMLib.moneyCounter().bankLedger(bankChain(), name, CMLib.utensils().getFormattedDate(this) + ": Deposit of " + CMLib.moneyCounter().nameCurrencyShort(this, newBalance - coinItem.getTotalValue()) + ": Interest paid.");
                         else
-                            CMLib.beanCounter().bankLedger(bankChain(), name, CMLib.utensils().getFormattedDate(this) + ": Withdrawl of " + CMLib.beanCounter().nameCurrencyShort(this, coinItem.getTotalValue() - newBalance) + ": Interest charged.");
+                            CMLib.moneyCounter().bankLedger(bankChain(), name, CMLib.utensils().getFormattedDate(this) + ": Withdrawl of " + CMLib.moneyCounter().nameCurrencyShort(this, coinItem.getTotalValue() - newBalance) + ": Interest charged.");
                         delDepositInventory(name, coinItem);
                     }
-                    final String currency = CMLib.beanCounter().getCurrency(this);
-                    coinItem = CMLib.beanCounter().makeBestCurrency(currency, newBalance);
+                    final String currency = CMLib.moneyCounter().getCurrency(this);
+                    coinItem = CMLib.moneyCounter().makeBestCurrency(currency, newBalance);
                     if (coinItem != null)
                         addDepositInventory(name, coinItem, null);
                 }
@@ -465,7 +465,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
                 }
             }
             for (int d = debts.size() - 1; d >= 0; d--)
-                CMLib.beanCounter().delAllDebt(debts.elementAt(d).debtor(), bankChain());
+                CMLib.moneyCounter().delAllDebt(debts.elementAt(d).debtor(), bankChain());
         }
     }
 
@@ -584,16 +584,16 @@ public class StdBanker extends StdShopKeeper implements Banker {
                             }
                             if ((oldCoins != null) && (oldCoins instanceof Coins))
                                 newValue += ((Coins) oldCoins).getTotalValue();
-                            final Coins coins = CMLib.beanCounter().makeBestCurrency(CMLib.beanCounter().getCurrency(this), newValue);
-                            bankLedger(depositorName, "Deposit of " + CMLib.beanCounter().nameCurrencyShort(this, newValue) + ": " + msg.source().Name());
+                            final Coins coins = CMLib.moneyCounter().makeBestCurrency(CMLib.moneyCounter().getCurrency(this), newValue);
+                            bankLedger(depositorName, "Deposit of " + CMLib.moneyCounter().nameCurrencyShort(this, newValue) + ": " + msg.source().Name());
                             if (oldCoins != null)
                                 delDepositInventory(depositorName, oldCoins);
                             if (coins != null)
                                 addDepositInventory(depositorName, coins, null);
                             if (isSold(ShopKeeper.DEAL_CLANBANKER))
-                                CMLib.commands().postSay(this, mob, L("Ok, @x1 now has a balance of @x2.", CMStrings.capitalizeFirstLetter(depositorName), CMLib.beanCounter().nameCurrencyLong(this, getBalance(depositorName))), true, false);
+                                CMLib.commands().postSay(this, mob, L("Ok, @x1 now has a balance of @x2.", CMStrings.capitalizeFirstLetter(depositorName), CMLib.moneyCounter().nameCurrencyLong(this, getBalance(depositorName))), true, false);
                             else
-                                CMLib.commands().postSay(this, mob, L("Ok, your new balance is @x1.", CMLib.beanCounter().nameCurrencyLong(this, getBalance(depositorName))), true, false);
+                                CMLib.commands().postSay(this, mob, L("Ok, your new balance is @x1.", CMLib.moneyCounter().nameCurrencyLong(this, getBalance(depositorName))), true, false);
                             recoverPhyStats();
 
                             if (msg.sourceMessage() != null)
@@ -603,9 +603,9 @@ public class StdBanker extends StdShopKeeper implements Banker {
                             if (msg.othersMessage() != null)
                                 msg.setOthersMessage(CMStrings.replaceAll(msg.othersMessage(), "<O-NAME>", msg.tool().name()));
                             ((Coins) msg.tool()).setNumberOfCoins(0); // prevents banker from accumulating wealth
-                            final double riches = CMLib.beanCounter().getTotalAbsoluteNativeValue(this);
+                            final double riches = CMLib.moneyCounter().getTotalAbsoluteNativeValue(this);
                             if (riches > 0.0)
-                                CMLib.beanCounter().subtractMoney(this, riches);
+                                CMLib.moneyCounter().subtractMoney(this, riches);
                         } else {
                             List<Item> items;
                             if (msg.tool() instanceof Container)
@@ -644,7 +644,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
                             while ((months < (location().getArea().getTimeObj().getMonthsInYear() * 10))
                                 && (CMath.div(amt, months) > 250.0)) months++;
                             final long dueAt = System.currentTimeMillis() + (timeInterval() * months);
-                            CMLib.beanCounter().adjustDebt(borrowerName, bankChain(), amt, "Bank Loan", interestRate, dueAt);
+                            CMLib.moneyCounter().adjustDebt(borrowerName, bankChain(), amt, "Bank Loan", interestRate, dueAt);
                         }
                     }
                     break;
@@ -670,8 +670,8 @@ public class StdBanker extends StdShopKeeper implements Banker {
                             if ((depositInventoryItem instanceof Coins)
                                 && (old instanceof Coins)
                                 && (((Coins) depositInventoryItem).getTotalValue() >= ((Coins) old).getTotalValue())) {
-                                final Coins coins = CMLib.beanCounter().makeBestCurrency(this, ((Coins) depositInventoryItem).getTotalValue() - ((Coins) old).getTotalValue());
-                                bankLedger(withdrawerName, "Withdrawl of " + CMLib.beanCounter().nameCurrencyShort(this, ((Coins) old).getTotalValue()) + ": " + msg.source().Name());
+                                final Coins coins = CMLib.moneyCounter().makeBestCurrency(this, ((Coins) depositInventoryItem).getTotalValue() - ((Coins) old).getTotalValue());
+                                bankLedger(withdrawerName, "Withdrawl of " + CMLib.moneyCounter().nameCurrencyShort(this, ((Coins) old).getTotalValue()) + ": " + msg.source().Name());
                                 delDepositInventory(withdrawerName, depositInventoryItem);
 
                                 addItem(old);
@@ -690,11 +690,11 @@ public class StdBanker extends StdShopKeeper implements Banker {
                                 }
                                 addDepositInventory(withdrawerName, coins, null);
                                 if (isSold(ShopKeeper.DEAL_CLANBANKER))
-                                    CMLib.commands().postSay(this, mob, L("Ok, @x1 now has a balance of @x2.", CMStrings.capitalizeFirstLetter(withdrawerName), CMLib.beanCounter().nameCurrencyLong(this, coins.getTotalValue())), true, false);
+                                    CMLib.commands().postSay(this, mob, L("Ok, @x1 now has a balance of @x2.", CMStrings.capitalizeFirstLetter(withdrawerName), CMLib.moneyCounter().nameCurrencyLong(this, coins.getTotalValue())), true, false);
                                 else
-                                    CMLib.commands().postSay(this, mob, L("Ok, your new balance is @x1.", CMLib.beanCounter().nameCurrencyLong(this, coins.getTotalValue())), true, false);
+                                    CMLib.commands().postSay(this, mob, L("Ok, your new balance is @x1.", CMLib.moneyCounter().nameCurrencyLong(this, coins.getTotalValue())), true, false);
                             } else if (depositInventoryItem != null)
-                                CMLib.commands().postSay(this, mob, L("But, your balance is @x1.", CMLib.beanCounter().nameCurrencyLong(this, ((Coins) depositInventoryItem).getTotalValue())), true, false);
+                                CMLib.commands().postSay(this, mob, L("But, your balance is @x1.", CMLib.moneyCounter().nameCurrencyLong(this, ((Coins) depositInventoryItem).getTotalValue())), true, false);
                         } else {
                             List<Item> deletedItems = delDepositInventory(withdrawerName, old);
                             if ((deletedItems.size() == 0)
@@ -780,11 +780,11 @@ public class StdBanker extends StdShopKeeper implements Banker {
                         final double balance = getBalance(listerName);
                         if (balance > 0) {
                             if (isSold(ShopKeeper.DEAL_CLANBANKER))
-                                str.append(CMStrings.capitalizeFirstLetter(listerName) + " has a balance of ^H" + CMLib.beanCounter().nameCurrencyLong(this, balance) + "^?.");
+                                str.append(CMStrings.capitalizeFirstLetter(listerName) + " has a balance of ^H" + CMLib.moneyCounter().nameCurrencyLong(this, balance) + "^?.");
                             else
-                                str.append("Your balance is ^H" + CMLib.beanCounter().nameCurrencyLong(this, balance) + "^?.");
+                                str.append("Your balance is ^H" + CMLib.moneyCounter().nameCurrencyLong(this, balance) + "^?.");
                         }
-                        final Vector<MoneyLibrary.DebtItem> debts = CMLib.beanCounter().getDebt(listerName, bankChain());
+                        final Vector<MoneyLibrary.DebtItem> debts = CMLib.moneyCounter().getDebt(listerName, bankChain());
                         if (debts != null) {
                             for (int d = 0; d < debts.size(); d++) {
                                 final MoneyLibrary.DebtItem debt = debts.elementAt(d);
@@ -793,7 +793,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
                                 final double dueAmount = debt.amt();
                                 final long timeRemaining = debtDueAt - System.currentTimeMillis();
                                 if (timeRemaining > 0)
-                                    str.append(L("\n\r@x1 owe ^H@x2^? in debt.\n\rMonthly interest is @x3%.  The loan must be paid in full in @x4 months.", ((isSold(ShopKeeper.DEAL_CLANBANKER)) ? CMStrings.capitalizeFirstLetter(listerName) : L("You")), CMLib.beanCounter().nameCurrencyLong(this, dueAmount), "" + (intRate * 100.0), "" + (timeRemaining / timeInterval())));
+                                    str.append(L("\n\r@x1 owe ^H@x2^? in debt.\n\rMonthly interest is @x3%.  The loan must be paid in full in @x4 months.", ((isSold(ShopKeeper.DEAL_CLANBANKER)) ? CMStrings.capitalizeFirstLetter(listerName) : L("You")), CMLib.moneyCounter().nameCurrencyLong(this, dueAmount), "" + (intRate * 100.0), "" + (timeRemaining / timeInterval())));
                             }
                         }
                         if (coinInterest != 0.0) {
@@ -830,7 +830,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
             switch (msg.targetMinor()) {
                 case CMMsg.TYP_GIVE:
                 case CMMsg.TYP_DEPOSIT: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     if (msg.tool() == null)
                         return false;
@@ -843,8 +843,8 @@ public class StdBanker extends StdShopKeeper implements Banker {
                             CMLib.commands().postSay(this, mob, L("I'm sorry, the law prevents us from holding that much money in one account."), true, false);
                             return false;
                         }
-                        if (!((Coins) msg.tool()).getCurrency().equalsIgnoreCase(CMLib.beanCounter().getCurrency(this))) {
-                            CMLib.commands().postSay(this, mob, L("I'm sorry, this bank only deals in @x1.", CMLib.beanCounter().getDenominationName(CMLib.beanCounter().getCurrency(this))), true, false);
+                        if (!((Coins) msg.tool()).getCurrency().equalsIgnoreCase(CMLib.moneyCounter().getCurrency(this))) {
+                            CMLib.commands().postSay(this, mob, L("I'm sorry, this bank only deals in @x1.", CMLib.moneyCounter().getDenominationName(CMLib.moneyCounter().getCurrency(this))), true, false);
                             return false;
                         }
                         return true;
@@ -860,15 +860,15 @@ public class StdBanker extends StdShopKeeper implements Banker {
                     final double minbalance = (totalItemsWorth(listerName) / MIN_ITEM_BALANCE_DIVISOR) + CMath.div(((Item) msg.tool()).value(), MIN_ITEM_BALANCE_DIVISOR);
                     if (balance < minbalance) {
                         if (isSold(ShopKeeper.DEAL_CLANBANKER))
-                            CMLib.commands().postSay(this, mob, L("@x1 will need a total balance of @x2 for me to hold that.", CMStrings.capitalizeFirstLetter(listerName), CMLib.beanCounter().nameCurrencyShort(this, minbalance)), true, false);
+                            CMLib.commands().postSay(this, mob, L("@x1 will need a total balance of @x2 for me to hold that.", CMStrings.capitalizeFirstLetter(listerName), CMLib.moneyCounter().nameCurrencyShort(this, minbalance)), true, false);
                         else
-                            CMLib.commands().postSay(this, mob, L("You'll need a total balance of @x1 for me to hold that.", CMLib.beanCounter().nameCurrencyShort(this, minbalance)), true, false);
+                            CMLib.commands().postSay(this, mob, L("You'll need a total balance of @x1 for me to hold that.", CMLib.moneyCounter().nameCurrencyShort(this, minbalance)), true, false);
                         return false;
                     }
                 }
                 return true;
                 case CMMsg.TYP_WITHDRAW: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     String withdrawerName = getBankClientName(msg.source(), Clan.Function.WITHDRAW, true);
                     if (withdrawerName == null)
@@ -883,8 +883,8 @@ public class StdBanker extends StdShopKeeper implements Banker {
                     double balance = getBalance(withdrawerName);
                     final double collateral = totalItemsWorth(withdrawerName);
                     if (msg.tool() instanceof Coins) {
-                        if (!((Coins) msg.tool()).getCurrency().equals(CMLib.beanCounter().getCurrency(this))) {
-                            CMLib.commands().postSay(this, mob, L("I'm sorry, I can only give you @x1.", CMLib.beanCounter().getDenominationName(CMLib.beanCounter().getCurrency(this))), true, false);
+                        if (!((Coins) msg.tool()).getCurrency().equals(CMLib.moneyCounter().getCurrency(this))) {
+                            CMLib.commands().postSay(this, mob, L("I'm sorry, I can only give you @x1.", CMLib.moneyCounter().getDenominationName(CMLib.moneyCounter().getCurrency(this))), true, false);
                             return false;
                         }
 
@@ -911,7 +911,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
                             return false;
                         }
                     } else if (msg.tool() instanceof Item) {
-                        final double debt = CMLib.beanCounter().getDebtOwed(withdrawerName, bankChain());
+                        final double debt = CMLib.moneyCounter().getDebtOwed(withdrawerName, bankChain());
                         if ((debt > 0.0)
                             && ((collateral - ((Item) msg.tool()).value()) < debt)) {
                             CMLib.commands().postSay(this, mob, L("I'm sorry, but that item is being held as collateral against your debt at this time."), true, false);
@@ -922,16 +922,16 @@ public class StdBanker extends StdShopKeeper implements Banker {
                     if (msg.tool() instanceof Coins) {
                         if (((Coins) msg.tool()).getTotalValue() > balance) {
                             if (isSold(ShopKeeper.DEAL_CLANBANKER))
-                                CMLib.commands().postSay(this, mob, L("I'm sorry,  @x1 has only @x2 in its account.", CMStrings.capitalizeFirstLetter(withdrawerName), CMLib.beanCounter().nameCurrencyShort(this, balance)), true, false);
+                                CMLib.commands().postSay(this, mob, L("I'm sorry,  @x1 has only @x2 in its account.", CMStrings.capitalizeFirstLetter(withdrawerName), CMLib.moneyCounter().nameCurrencyShort(this, balance)), true, false);
                             else
-                                CMLib.commands().postSay(this, mob, L("I'm sorry, you have only @x1 in that account.", CMLib.beanCounter().nameCurrencyShort(this, balance)), true, false);
+                                CMLib.commands().postSay(this, mob, L("I'm sorry, you have only @x1 in that account.", CMLib.moneyCounter().nameCurrencyShort(this, balance)), true, false);
                             return false;
                         }
                         if (minbalance == 0)
                             return true;
                         if (((Coins) msg.tool()).getTotalValue() > (balance - minbalance)) {
                             if ((balance - minbalance) > 0)
-                                CMLib.commands().postSay(this, mob, L("I'm sorry, you may only withdraw @x1  at this time.", CMLib.beanCounter().nameCurrencyShort(this, balance - minbalance)), true, false);
+                                CMLib.commands().postSay(this, mob, L("I'm sorry, you may only withdraw @x1  at this time.", CMLib.moneyCounter().nameCurrencyShort(this, balance - minbalance)), true, false);
                             else
                                 CMLib.commands().postSay(this, mob, L("I am holding other items in trust, so you may not withdraw funds at this time."), true, false);
                             return false;
@@ -946,7 +946,7 @@ public class StdBanker extends StdShopKeeper implements Banker {
                 case CMMsg.TYP_BUY:
                     return super.okMessage(myHost, msg);
                 case CMMsg.TYP_BORROW: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     if (!(msg.tool() instanceof Coins)) {
                         CMLib.commands().postSay(this, mob, L("I'm sorry, only MONEY can be borrowed."), true, false);
@@ -967,13 +967,13 @@ public class StdBanker extends StdShopKeeper implements Banker {
                         CMLib.commands().postSay(this, mob, str.toString() + "^T", true, false);
                         return false;
                     }
-                    final double debt = CMLib.beanCounter().getDebtOwed(withdrawerName, bankChain());
+                    final double debt = CMLib.moneyCounter().getDebtOwed(withdrawerName, bankChain());
                     if (debt > 0.0) {
                         final StringBuffer str = new StringBuffer("");
                         if (isSold(ShopKeeper.DEAL_CLANBANKER))
-                            str.append(L("@x1 already has a @x2 loan out with us.", CMStrings.capitalizeFirstLetter(withdrawerName), CMLib.beanCounter().nameCurrencyShort(this, debt)));
+                            str.append(L("@x1 already has a @x2 loan out with us.", CMStrings.capitalizeFirstLetter(withdrawerName), CMLib.moneyCounter().nameCurrencyShort(this, debt)));
                         else
-                            str.append(L("You already have a @x1 loan out with us.", CMLib.beanCounter().nameCurrencyShort(this, debt)));
+                            str.append(L("You already have a @x1 loan out with us.", CMLib.moneyCounter().nameCurrencyShort(this, debt)));
                         CMLib.commands().postSay(this, mob, str.toString() + "^T", true, false);
                         return false;
                     }
@@ -984,14 +984,14 @@ public class StdBanker extends StdShopKeeper implements Banker {
                             str.append(CMStrings.capitalizeFirstLetter(withdrawerName) + " ");
                         else
                             str.append("You ");
-                        str.append(L("will need to deposit enough items with us as collateral.  You'll need items worth @x1 more to qualify.", CMLib.beanCounter().nameCurrencyShort(this, collateralRemaining)));
+                        str.append(L("will need to deposit enough items with us as collateral.  You'll need items worth @x1 more to qualify.", CMLib.moneyCounter().nameCurrencyShort(this, collateralRemaining)));
                         CMLib.commands().postSay(this, mob, str.toString() + "^T", true, false);
                         return false;
                     }
                     return true;
                 }
                 case CMMsg.TYP_LIST: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     final String listerName = getBankClientName(msg.source(), Clan.Function.DEPOSIT_LIST, true);
                     if (listerName == null)
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/StdMOB.java b/src/main/java/com/syncleus/aethermud/game/MOBS/StdMOB.java
index 1c750e4195..99594d0307 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/StdMOB.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/StdMOB.java
@@ -1002,12 +1002,12 @@ public class StdMOB implements MOB {
         amDead = false;
         if ((miscText != null) && (resetStats) && (isGeneric())) {
             if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS) && (miscText instanceof byte[])) {
-                CMLib.coffeeMaker().resetGenMOB(this,
-                    CMLib.coffeeMaker().getGenMOBTextUnpacked(this,
+                CMLib.aetherMaker().resetGenMOB(this,
+                    CMLib.aetherMaker().getGenMOBTextUnpacked(this,
                         CMLib.encoder().decompressString((byte[]) miscText)));
             } else {
-                CMLib.coffeeMaker().resetGenMOB(this,
-                    CMLib.coffeeMaker().getGenMOBTextUnpacked(this, CMStrings.bytesToStr(miscText)));
+                CMLib.aetherMaker().resetGenMOB(this,
+                    CMLib.aetherMaker().getGenMOBTextUnpacked(this, CMStrings.bytesToStr(miscText)));
             }
         }
         if (CMLib.map().getStartRoom(this) == null)
@@ -3131,7 +3131,7 @@ public class StdMOB implements MOB {
                         setRiding(null);
 
                     if ((!isMonster) && (soulMate() == null)) {
-                        CMLib.coffeeTables().bump(this, CoffeeTableRow.STAT_TICKSONLINE);
+                        CMLib.aetherTables().bump(this, AetherTableRow.STAT_TICKSONLINE);
                         if (((++tickAgeCounter) * CMProps.getTickMillis()) >= AGE_MILLIS_THRESHOLD) {
                             final long secondsPassed = (tickAgeCounter * CMProps.getTickMillis()) / 1000;
                             CMLib.achievements().possiblyBumpAchievement(this, AchievementLibrary.Event.TIMEPLAYED, (int) secondsPassed, this);
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/StdPostman.java b/src/main/java/com/syncleus/aethermud/game/MOBS/StdPostman.java
index 423156987b..74a7cb64f9 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/StdPostman.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/StdPostman.java
@@ -187,7 +187,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                 + holdTime + ";"
                 + COD + ";"
                 + name + ";"
-                + CMLib.coffeeMaker().getPropertiesStr(thisThang, true));
+                + CMLib.aetherMaker().getPropertiesStr(thisThang, true));
     }
 
     @Override
@@ -345,7 +345,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
             return null;
         final Item I = CMClass.getItem(data.classID);
         if (I != null) {
-            CMLib.coffeeMaker().setPropertiesStr(I, data.xml, true);
+            CMLib.aetherMaker().setPropertiesStr(I, data.xml, true);
             I.recoverPhyStats();
             I.text();
             return I;
@@ -592,7 +592,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                                             S.prompt(new InputCallback(InputCallback.Type.CHOOSE, "P", "CP\n", 0) {
                                                 @Override
                                                 public void showPrompt() {
-                                                    S.promptPrint(L("Postage on this will be @x1.\n\rWould you like to P)ay this now, or be C)harged on delivery (c/P)?", CMLib.beanCounter().nameCurrencyShort(me, amt)));
+                                                    S.promptPrint(L("Postage on this will be @x1.\n\rWould you like to P)ay this now, or be C)harged on delivery (c/P)?", CMLib.moneyCounter().nameCurrencyShort(me, amt)));
                                                 }
 
                                                 @Override
@@ -607,7 +607,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                                                         S.prompt(new InputCallback(InputCallback.Type.PROMPT, "", 0) {
                                                             @Override
                                                             public void showPrompt() {
-                                                                S.promptPrint(L("Enter COD amount (@x1): ", CMLib.beanCounter().getDenominationName(CMLib.beanCounter().getCurrency(me), CMLib.beanCounter().getLowestDenomination(CMLib.beanCounter().getCurrency(me)))));
+                                                                S.promptPrint(L("Enter COD amount (@x1): ", CMLib.moneyCounter().getDenominationName(CMLib.moneyCounter().getCurrency(me), CMLib.moneyCounter().getLowestDenomination(CMLib.moneyCounter().getCurrency(me)))));
                                                             }
 
                                                             @Override
@@ -622,7 +622,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                                                                     CMLib.commands().postSay(me, mob, L("That is not a valid amount."), true, false);
                                                                     autoGive(me, msg.source(), (Item) msg.tool());
                                                                 } else {
-                                                                    final Coins currency = CMLib.beanCounter().makeBestCurrency(CMLib.beanCounter().getCurrency(me), CMLib.beanCounter().getLowestDenomination(CMLib.beanCounter().getCurrency(me)) * (CMath.s_double(CODstr)));
+                                                                    final Coins currency = CMLib.moneyCounter().makeBestCurrency(CMLib.moneyCounter().getCurrency(me), CMLib.moneyCounter().getLowestDenomination(CMLib.moneyCounter().getCurrency(me)) * (CMath.s_double(CODstr)));
                                                                     final double COD = currency.getTotalValue();
                                                                     addToBox(postalChain(), (Item) msg.tool(), fromWhom, toWhom, System.currentTimeMillis(), COD);
                                                                     CMLib.commands().postSay(me, mob, L("I'll deliver that for ya right away!"), true, false);
@@ -630,11 +630,11 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                                                                 }
                                                             }
                                                         });
-                                                    } else if ((amt > 0.0) && (CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(msg.source(), me) < amt)) {
+                                                    } else if ((amt > 0.0) && (CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(msg.source(), me) < amt)) {
                                                         CMLib.commands().postSay(me, mob, L("You can't afford postage."), true, false);
                                                         autoGive(me, msg.source(), (Item) msg.tool());
                                                     } else {
-                                                        CMLib.beanCounter().subtractMoney(mob, CMLib.beanCounter().getCurrency(me), amt);
+                                                        CMLib.moneyCounter().subtractMoney(mob, CMLib.moneyCounter().getCurrency(me), amt);
                                                         addToBox(postalChain(), (Item) msg.tool(), fromWhom, toWhom, System.currentTimeMillis(), 0.0);
                                                         CMLib.commands().postSay(me, mob, L("I'll deliver that for ya right away!"), true, false);
                                                         ((Item) msg.tool()).destroy();
@@ -670,19 +670,19 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                                 && (msg.source().isMarriedToLiege()))
                                 delFromBox(msg.source().getLiegeID(), old);
                             final double totalCharge = getCODChargeForPiece(data);
-                            if ((totalCharge > 0.0) && (CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(msg.source(), this) >= totalCharge)) {
+                            if ((totalCharge > 0.0) && (CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(msg.source(), this) >= totalCharge)) {
 
-                                CMLib.beanCounter().subtractMoney(msg.source(), totalCharge);
+                                CMLib.moneyCounter().subtractMoney(msg.source(), totalCharge);
                                 final double COD = CMath.s_double(data.cod);
                                 Coins returnMoney = null;
                                 if (COD > 0.0)
-                                    returnMoney = CMLib.beanCounter().makeBestCurrency(this, COD);
+                                    returnMoney = CMLib.moneyCounter().makeBestCurrency(this, COD);
                                 if (returnMoney != null) {
                                     CMLib.commands().postSay(this, mob, L("The COD amount of @x1 has been sent back to @x2.", returnMoney.Name(), data.from), true, false);
                                     addToBox(postalChain(), returnMoney, data.to, data.from, System.currentTimeMillis(), 0.0);
-                                    CMLib.commands().postSay(this, mob, L("The total charge on that was a COD charge of @x1 plus @x2 postage and holding fees.", returnMoney.Name(), CMLib.beanCounter().nameCurrencyShort(this, totalCharge - COD)), true, false);
+                                    CMLib.commands().postSay(this, mob, L("The total charge on that was a COD charge of @x1 plus @x2 postage and holding fees.", returnMoney.Name(), CMLib.moneyCounter().nameCurrencyShort(this, totalCharge - COD)), true, false);
                                 } else
-                                    CMLib.commands().postSay(this, mob, L("The total charge on that was @x1 in holding/storage fees.", CMLib.beanCounter().nameCurrencyShort(this, totalCharge)), true, false);
+                                    CMLib.commands().postSay(this, mob, L("The total charge on that was @x1 in holding/storage fees.", CMLib.moneyCounter().nameCurrencyShort(this, totalCharge)), true, false);
                             }
                             CMLib.commands().postSay(this, mob, L("There ya go!"), true, false);
                             if (location() != null)
@@ -712,11 +712,11 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                             else
                                 CMLib.commands().postSay(this, mob, L("You already have a box open here!"), true, false);
                         } else if (feeForNewBox() > 0.0) {
-                            if (CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(msg.source(), this) < feeForNewBox()) {
+                            if (CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(msg.source(), this) < feeForNewBox()) {
                                 CMLib.commands().postSay(this, mob, L("Too bad you can't afford it."), true, false);
                                 return;
                             }
-                            CMLib.beanCounter().subtractMoney(msg.source(), CMLib.beanCounter().getCurrency(this), feeForNewBox());
+                            CMLib.moneyCounter().subtractMoney(msg.source(), CMLib.moneyCounter().getCurrency(this), feeForNewBox());
                             createBoxHere(theName, theName);
                             if (isSold(ShopKeeper.DEAL_CLANPOSTMAN))
                                 CMLib.commands().postSay(this, mob, L("A box has been opened for @x1.", CMStrings.capitalizeFirstLetter(theName)), true, false);
@@ -816,7 +816,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                                 str = new StringBuffer("^N");
                                 if (getCODChargeForPiece(pieces) > 0.0) {
                                     codCharge = true;
-                                    str.append("[" + CMStrings.padRight("" + CMLib.beanCounter().abbreviatedPrice(this, getCODChargeForPiece(pieces)), 8) + "]");
+                                    str.append("[" + CMStrings.padRight("" + CMLib.moneyCounter().abbreviatedPrice(this, getCODChargeForPiece(pieces)), 8) + "]");
                                 } else
                                     str.append("[        ]");
                                 str.append("[" + CMStrings.padRight(pieces.from, 15) + "]");
@@ -829,9 +829,9 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                         final StringBuffer str = new StringBuffer("\n\r^N");
                         if (codCharge)
                             str.append(L("* COD charges above include all shipping costs.\n\r"));
-                        str.append(L("* This branch charges minimum @x1 postage for first pound.\n\r", CMLib.beanCounter().nameCurrencyShort(this, minimumPostage())));
-                        str.append(L("* An additional @x1 per pound is charged for packages.\n\r", CMLib.beanCounter().nameCurrencyShort(this, postagePerPound())));
-                        str.append(L("* A charge of @x1 per pound per month is charged for holding.\n\r", CMLib.beanCounter().nameCurrencyShort(this, holdFeePerPound())));
+                        str.append(L("* This branch charges minimum @x1 postage for first pound.\n\r", CMLib.moneyCounter().nameCurrencyShort(this, minimumPostage())));
+                        str.append(L("* An additional @x1 per pound is charged for packages.\n\r", CMLib.moneyCounter().nameCurrencyShort(this, postagePerPound())));
+                        str.append(L("* A charge of @x1 per pound per month is charged for holding.\n\r", CMLib.moneyCounter().nameCurrencyShort(this, holdFeePerPound())));
                         str.append("* To forward your mail, 'say \"" + name() + "\" \"forward <areaname>\"'.\n\r");
                         str.append(L("* To close your box, 'say \"@x1\" close'.\n\r", name()));
                         mob.tell(str.toString());
@@ -857,7 +857,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
             switch (msg.targetMinor()) {
                 case CMMsg.TYP_GIVE:
                 case CMMsg.TYP_DEPOSIT: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     if (msg.tool() == null)
                         return false;
@@ -875,7 +875,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                 }
                 return true;
                 case CMMsg.TYP_WITHDRAW: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     final String senderName = getSenderName(msg.source(), Clan.Function.WITHDRAW, true);
                     if (senderName == null)
@@ -896,8 +896,8 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                         return false;
                     }
                     final double totalCharge = getCODChargeForPiece(data);
-                    if (CMLib.beanCounter().getTotalAbsoluteShopKeepersValue(msg.source(), this) < totalCharge) {
-                        CMLib.commands().postSay(this, mob, L("The total charge to receive that item is @x1. You don't have enough.", CMLib.beanCounter().nameCurrencyShort(this, totalCharge)), true, false);
+                    if (CMLib.moneyCounter().getTotalAbsoluteShopKeepersValue(msg.source(), this) < totalCharge) {
+                        CMLib.commands().postSay(this, mob, L("The total charge to receive that item is @x1. You don't have enough.", CMLib.moneyCounter().nameCurrencyShort(this, totalCharge)), true, false);
                         return false;
                     }
                 }
@@ -909,7 +909,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                 case CMMsg.TYP_BUY:
                     return super.okMessage(myHost, msg);
                 case CMMsg.TYP_LIST: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     final String senderName = getSenderName(msg.source(), Clan.Function.DEPOSIT_LIST, true);
                     if (senderName == null)
@@ -931,7 +931,7 @@ public class StdPostman extends StdShopKeeper implements PostOffice {
                         if (postalChain().length() > 0)
                             str.append(L("\n\rThis branch is part of the @x1 postal chain.", postalChain()));
                         CMLib.commands().postSay(this, mob, str.toString() + "^T", true, false);
-                        mob.tell(L("Use 'say \"@x1\" open' to open a box here@x2", name(), ((feeForNewBox() <= 0.0) ? "." : (" for " + CMLib.beanCounter().nameCurrencyShort(this, feeForNewBox()) + "."))));
+                        mob.tell(L("Use 'say \"@x1\" open' to open a box here@x2", name(), ((feeForNewBox() <= 0.0) ? "." : (" for " + CMLib.moneyCounter().nameCurrencyShort(this, feeForNewBox()) + "."))));
                         return false;
                     }
                     return true;
diff --git a/src/main/java/com/syncleus/aethermud/game/MOBS/StdShopKeeper.java b/src/main/java/com/syncleus/aethermud/game/MOBS/StdShopKeeper.java
index ec4535a66d..57dbaa2ff4 100644
--- a/src/main/java/com/syncleus/aethermud/game/MOBS/StdShopKeeper.java
+++ b/src/main/java/com/syncleus/aethermud/game/MOBS/StdShopKeeper.java
@@ -49,7 +49,7 @@ import java.util.List;
    limitations under the License.
  */
 public class StdShopKeeper extends StdMOB implements ShopKeeper {
-    protected CoffeeShop shop = ((CoffeeShop) CMClass.getCommon("DefaultCoffeeShop")).build(this);
+    protected AetherShop shop = ((AetherShop) CMClass.getCommon("DefaultAetherShop")).build(this);
     protected long whatIsSoldMask = 0;
     protected int invResetRate = 0;
     protected int invResetTickDown = 0;
@@ -139,11 +139,11 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
     protected void cloneFix(MOB E) {
         super.cloneFix(E);
         if (E instanceof StdShopKeeper)
-            shop = ((CoffeeShop) ((StdShopKeeper) E).shop.copyOf()).build(this);
+            shop = ((AetherShop) ((StdShopKeeper) E).shop.copyOf()).build(this);
     }
 
     @Override
-    public CoffeeShop getShop() {
+    public AetherShop getShop() {
         return shop;
     }
 
@@ -155,12 +155,12 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
 
     @Override
     public String storeKeeperString() {
-        return CMLib.coffeeShops().storeKeeperString(getShop());
+        return CMLib.aetherShops().storeKeeperString(getShop());
     }
 
     @Override
     public boolean doISellThis(Environmental thisThang) {
-        return CMLib.coffeeShops().doISellThis(thisThang, this);
+        return CMLib.aetherShops().doISellThis(thisThang, this);
     }
 
     protected Area getStartArea() {
@@ -187,12 +187,12 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
                     if (miscText != null) {
                         String shoptext;
                         if (CMProps.getBoolVar(CMProps.Bool.MOBCOMPRESS) && (miscText instanceof byte[]))
-                            shoptext = CMLib.coffeeMaker().getGenMOBTextUnpacked(this, CMLib.encoder().decompressString((byte[]) miscText));
+                            shoptext = CMLib.aetherMaker().getGenMOBTextUnpacked(this, CMLib.encoder().decompressString((byte[]) miscText));
                         else
-                            shoptext = CMLib.coffeeMaker().getGenMOBTextUnpacked(this, CMStrings.bytesToStr(miscText));
+                            shoptext = CMLib.aetherMaker().getGenMOBTextUnpacked(this, CMStrings.bytesToStr(miscText));
                         final List<XMLLibrary.XMLTag> xml = CMLib.xml().parseAllXML(shoptext);
                         if (xml != null) {
-                            CMLib.coffeeMaker().populateShops(this, xml);
+                            CMLib.aetherMaker().populateShops(this, xml);
                             recoverPhyStats();
                             recoverCharStats();
                         }
@@ -260,9 +260,9 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
             switch (msg.targetMinor()) {
                 case CMMsg.TYP_VALUE:
                 case CMMsg.TYP_SELL: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
-                    if (CMLib.coffeeShops().standardSellEvaluation(this, msg.source(), msg.tool(), this, budgetRemaining, budgetMax, msg.targetMinor() == CMMsg.TYP_SELL))
+                    if (CMLib.aetherShops().standardSellEvaluation(this, msg.source(), msg.tool(), this, budgetRemaining, budgetMax, msg.targetMinor() == CMMsg.TYP_SELL))
                         return super.okMessage(myHost, msg);
                     return false;
                 }
@@ -272,18 +272,18 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
                 }
                 case CMMsg.TYP_BUY:
                 case CMMsg.TYP_VIEW: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     if ((msg.targetMinor() == CMMsg.TYP_BUY)
                         && (msg.tool() != null)
                         && (!msg.tool().okMessage(myHost, msg)))
                         return false;
-                    if (CMLib.coffeeShops().standardBuyEvaluation(this, msg.source(), msg.tool(), this, msg.targetMinor() == CMMsg.TYP_BUY))
+                    if (CMLib.aetherShops().standardBuyEvaluation(this, msg.source(), msg.tool(), this, msg.targetMinor() == CMMsg.TYP_BUY))
                         return super.okMessage(myHost, msg);
                     return false;
                 }
                 case CMMsg.TYP_LIST: {
-                    if (!CMLib.coffeeShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
+                    if (!CMLib.aetherShops().ignoreIfNecessary(msg.source(), finalIgnoreMask(), this))
                         return false;
                     return super.okMessage(myHost, msg);
                 }
@@ -319,8 +319,8 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
                 case CMMsg.TYP_VALUE: {
                     super.executeMsg(myHost, msg);
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        final double pawningPrice = CMLib.coffeeShops().pawningPrice(this, mob, msg.tool(), this).absoluteGoldPrice;
-                        final String currencyShort = CMLib.beanCounter().nameCurrencyShort(this, pawningPrice);
+                        final double pawningPrice = CMLib.aetherShops().pawningPrice(this, mob, msg.tool(), this).absoluteGoldPrice;
+                        final String currencyShort = CMLib.moneyCounter().nameCurrencyShort(this, pawningPrice);
                         CMLib.commands().postSay(this, mob, L("I'll give you @x1 for @x2.", currencyShort, msg.tool().name()), true, false);
                     }
                     break;
@@ -329,7 +329,7 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
                 {
                     super.executeMsg(myHost, msg);
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        final double paid = CMLib.coffeeShops().transactPawn(this, msg.source(), this, msg.tool());
+                        final double paid = CMLib.aetherShops().transactPawn(this, msg.source(), this, msg.tool());
                         if (paid > Double.MIN_VALUE) {
                             budgetRemaining = budgetRemaining - Math.round(paid);
                             if (mySession != null)
@@ -348,7 +348,7 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
                         if ((msg.tool() != null)
                             && (getShop().doIHaveThisInStock("$" + msg.tool().Name() + "$", mob))) {
                             final String prefix = L("Interested in @x1? Here is some information for you: ", msg.tool().Name());
-                            final String viewDesc = prefix + CMLib.coffeeShops().getViewDescription(msg.source(), msg.tool());
+                            final String viewDesc = prefix + CMLib.aetherShops().getViewDescription(msg.source(), msg.tool());
                             CMLib.commands().postSay(this, msg.source(), viewDesc, true, false);
                         }
                     }
@@ -359,12 +359,12 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
                 {
                     super.executeMsg(myHost, msg);
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        final MOB mobFor = CMLib.coffeeShops().parseBuyingFor(msg.source(), msg.targetMessage());
+                        final MOB mobFor = CMLib.aetherShops().parseBuyingFor(msg.source(), msg.targetMessage());
                         if ((msg.tool() != null) && (getShop().doIHaveThisInStock("$" + msg.tool().Name() + "$", mobFor))
                             && (location() != null)) {
                             final Environmental item = getShop().getStock("$" + msg.tool().Name() + "$", mobFor);
                             if (item != null)
-                                CMLib.coffeeShops().transactMoneyOnly(this, msg.source(), this, item, !isMonster());
+                                CMLib.aetherShops().transactMoneyOnly(this, msg.source(), this, item, !isMonster());
 
                             final List<Environmental> products = getShop().removeSellableProduct("$" + msg.tool().Name() + "$", mobFor);
                             if (products.size() == 0)
@@ -372,15 +372,15 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
                             final Environmental product = products.get(0);
 
                             if (product instanceof Item) {
-                                if (!CMLib.coffeeShops().purchaseItems((Item) product, products, this, mobFor))
+                                if (!CMLib.aetherShops().purchaseItems((Item) product, products, this, mobFor))
                                     return;
                             } else if (product instanceof MOB) {
-                                if (CMLib.coffeeShops().purchaseMOB((MOB) product, this, this, mobFor)) {
+                                if (CMLib.aetherShops().purchaseMOB((MOB) product, this, this, mobFor)) {
                                     msg.modify(msg.source(), msg.target(), product, msg.sourceCode(), msg.sourceMessage(), msg.targetCode(), msg.targetMessage(), msg.othersCode(), msg.othersMessage());
                                     product.executeMsg(myHost, msg);
                                 }
                             } else if (product instanceof Ability)
-                                CMLib.coffeeShops().purchaseAbility((Ability) product, this, this, mobFor);
+                                CMLib.aetherShops().purchaseAbility((Ability) product, this, this, mobFor);
 
                             if (mySession != null)
                                 mySession.stdPrintln(msg.source(), msg.target(), msg.tool(), msg.targetMessage());
@@ -393,11 +393,11 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
                 case CMMsg.TYP_LIST: {
                     super.executeMsg(myHost, msg);
                     if (CMLib.flags().isAliveAwakeMobileUnbound(mob, true)) {
-                        final String forMask = CMLib.coffeeShops().getListForMask(msg.targetMessage());
+                        final String forMask = CMLib.aetherShops().getListForMask(msg.targetMessage());
                         List<Environmental> inventory = new XVector<Environmental>(getShop().getStoreInventory());
-                        inventory = CMLib.coffeeShops().addRealEstateTitles(inventory, mob, getShop(), getStartRoom());
+                        inventory = CMLib.aetherShops().addRealEstateTitles(inventory, mob, getShop(), getStartRoom());
                         final int limit = CMParms.getParmInt(finalPrejudiceFactors(), "LIMIT", 0);
-                        final String s = CMLib.coffeeShops().getListInventory(this, mob, inventory, limit, this, forMask);
+                        final String s = CMLib.aetherShops().getListInventory(this, mob, inventory, limit, this, forMask);
                         if (s.length() > 0)
                             mob.tell(s);
                     }
@@ -476,7 +476,7 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
 
     @Override
     public void setBudget(String factors) {
-        budget = CMLib.coffeeShops().parseBudget(factors);
+        budget = CMLib.aetherShops().parseBudget(factors);
         budgetTickDown = 0;
     }
 
@@ -494,7 +494,7 @@ public class StdShopKeeper extends StdMOB implements ShopKeeper {
 
     @Override
     public void setDevalueRate(String factors) {
-        devalueRate = CMLib.coffeeShops().parseDevalueRate(factors);
+        devalueRate = CMLib.aetherShops().parseDevalueRate(factors);
     }
 
     @Override
diff --git a/src/main/java/com/syncleus/aethermud/game/Races/GenRace.java b/src/main/java/com/syncleus/aethermud/game/Races/GenRace.java
index 5f9f3ba1c6..8437bbc0c0 100644
--- a/src/main/java/com/syncleus/aethermud/game/Races/GenRace.java
+++ b/src/main/java/com/syncleus/aethermud/game/Races/GenRace.java
@@ -422,23 +422,23 @@ public class GenRace extends StdRace {
         if (adjPStats == null)
             str.append("<ESTATS/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("ESTATS", CMLib.coffeeMaker().getPhyStatsStr(adjPStats)));
+            str.append(CMLib.xml().convertXMLtoTag("ESTATS", CMLib.aetherMaker().getPhyStatsStr(adjPStats)));
         if (adjStats == null)
             str.append("<ASTATS/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("ASTATS", CMLib.coffeeMaker().getCharStatsStr(adjStats)));
+            str.append(CMLib.xml().convertXMLtoTag("ASTATS", CMLib.aetherMaker().getCharStatsStr(adjStats)));
         if (setStats == null)
             str.append("<CSTATS/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("CSTATS", CMLib.coffeeMaker().getCharStatsStr(setStats)));
+            str.append(CMLib.xml().convertXMLtoTag("CSTATS", CMLib.aetherMaker().getCharStatsStr(setStats)));
         if (adjState == null)
             str.append("<ASTATE/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("ASTATE", CMLib.coffeeMaker().getCharStateStr(adjState)));
+            str.append(CMLib.xml().convertXMLtoTag("ASTATE", CMLib.aetherMaker().getCharStateStr(adjState)));
         if (startAdjState == null)
             str.append("<STARTASTATE/>");
         else
-            str.append(CMLib.xml().convertXMLtoTag("STARTASTATE", CMLib.coffeeMaker().getCharStateStr(startAdjState)));
+            str.append(CMLib.xml().convertXMLtoTag("STARTASTATE", CMLib.aetherMaker().getCharStateStr(startAdjState)));
         str.append(CMLib.xml().convertXMLtoTag("DISFLAGS", "" + disableFlags));
 
         if (myResources().size() == 0)
@@ -622,28 +622,28 @@ public class GenRace extends StdRace {
         if (eStats.length() > 0) {
             adjPStats = (PhyStats) CMClass.getCommon("DefaultPhyStats");
             adjPStats.setAllValues(0);
-            CMLib.coffeeMaker().setPhyStats(adjPStats, eStats);
+            CMLib.aetherMaker().setPhyStats(adjPStats, eStats);
         }
         adjStats = null;
         final String aStats = CMLib.xml().getValFromPieces(raceData, "ASTATS");
         if (aStats.length() > 0) {
             adjStats = (CharStats) CMClass.getCommon("DefaultCharStats");
             adjStats.setAllValues(0);
-            CMLib.coffeeMaker().setCharStats(adjStats, aStats);
+            CMLib.aetherMaker().setCharStats(adjStats, aStats);
         }
         setStats = null;
         final String cStats = CMLib.xml().getValFromPieces(raceData, "CSTATS");
         if (cStats.length() > 0) {
             setStats = (CharStats) CMClass.getCommon("DefaultCharStats");
             setStats.setAllValues(0);
-            CMLib.coffeeMaker().setCharStats(setStats, cStats);
+            CMLib.aetherMaker().setCharStats(setStats, cStats);
         }
         adjState = null;
         final String aState = CMLib.xml().getValFromPieces(raceData, "ASTATE");
         if (aState.length() > 0) {
             adjState = (CharState) CMClass.getCommon("DefaultCharState");
             adjState.setAllValues(0);
-            CMLib.coffeeMaker().setCharState(adjState, aState);
+            CMLib.aetherMaker().setCharState(adjState, aState);
         }
         startAdjState = null;
         disableFlags = CMLib.xml().getIntFromPieces(raceData, "DISFLAGS");
@@ -651,7 +651,7 @@ public class GenRace extends StdRace {
         if (saState.length() > 0) {
             startAdjState = (CharState) CMClass.getCommon("DefaultCharState");
             startAdjState.setAllValues(0);
-            CMLib.coffeeMaker().setCharState(startAdjState, saState);
+            CMLib.aetherMaker().setCharState(startAdjState, saState);
         }
         final String aging = CMLib.xml().getValFromPieces(raceData, "AGING");
         final List<String> aV = CMParms.parseCommas(aging, true);
@@ -837,13 +837,13 @@ public class GenRace extends StdRace {
                 return bbody.toString();
             }
             case 14:
-                return (adjPStats == null) ? "" : CMLib.coffeeMaker().getPhyStatsStr(adjPStats);
+                return (adjPStats == null) ? "" : CMLib.aetherMaker().getPhyStatsStr(adjPStats);
             case 15:
-                return (adjStats == null) ? "" : CMLib.coffeeMaker().getCharStatsStr(adjStats);
+                return (adjStats == null) ? "" : CMLib.aetherMaker().getCharStatsStr(adjStats);
             case 16:
-                return (setStats == null) ? "" : CMLib.coffeeMaker().getCharStatsStr(setStats);
+                return (setStats == null) ? "" : CMLib.aetherMaker().getCharStatsStr(setStats);
             case 17:
-                return (adjState == null) ? "" : CMLib.coffeeMaker().getCharStateStr(adjState);
+                return (adjState == null) ? "" : CMLib.aetherMaker().getCharStateStr(adjState);
             case 18:
                 return "" + myResources().size();
             case 19:
@@ -897,7 +897,7 @@ public class GenRace extends StdRace {
             case 43:
                 return "" + disableFlags;
             case 44:
-                return (startAdjState == null) ? "" : CMLib.coffeeMaker().getCharStateStr(startAdjState);
+                return (startAdjState == null) ? "" : CMLib.aetherMaker().getCharStateStr(startAdjState);
             case 45:
                 return getRaceLocatorID(eventBuddy);
             case 46:
@@ -1056,7 +1056,7 @@ public class GenRace extends StdRace {
                     if ((val.indexOf('=') > 0) && (val.indexOf('|') < 0))
                         setBaseStat(val, adjPStats);
                     else
-                        CMLib.coffeeMaker().setPhyStats(adjPStats, val);
+                        CMLib.aetherMaker().setPhyStats(adjPStats, val);
                 }
                 break;
             }
@@ -1069,7 +1069,7 @@ public class GenRace extends StdRace {
                     if ((val.indexOf('=') > 0) && (val.indexOf('|') < 0))
                         setBaseStat(val, adjStats);
                     else
-                        CMLib.coffeeMaker().setCharStats(adjStats, val);
+                        CMLib.aetherMaker().setCharStats(adjStats, val);
                 }
                 break;
             }
@@ -1082,7 +1082,7 @@ public class GenRace extends StdRace {
                     if ((val.indexOf('=') > 0) && (val.indexOf('|') < 0))
                         setBaseStat(val, setStats);
                     else
-                        CMLib.coffeeMaker().setCharStats(setStats, val);
+                        CMLib.aetherMaker().setCharStats(setStats, val);
                 }
                 break;
             }
@@ -1095,7 +1095,7 @@ public class GenRace extends StdRace {
                     if ((val.indexOf('=') > 0) && (val.indexOf('|') < 0))
                         setBaseStat(val, adjState);
                     else
-                        CMLib.coffeeMaker().setCharState(adjState, val);
+                        CMLib.aetherMaker().setCharState(adjState, val);
                 }
                 break;
             }
@@ -1310,7 +1310,7 @@ public class GenRace extends StdRace {
                     if ((val.indexOf('=') > 0) && (val.indexOf('|') < 0))
                         setBaseStat(val, startAdjState);
                     else
-                        CMLib.coffeeMaker().setCharState(startAdjState, val);
+                        CMLib.aetherMaker().setCharState(startAdjState, val);
                 }
                 break;
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/Races/StdRace.java b/src/main/java/com/syncleus/aethermud/game/Races/StdRace.java
index 1182a928d5..3f196579fc 100644
--- a/src/main/java/com/syncleus/aethermud/game/Races/StdRace.java
+++ b/src/main/java/com/syncleus/aethermud/game/Races/StdRace.java
@@ -1076,7 +1076,7 @@ public class StdRace implements Race {
         fakeMOB.setSession(fakeSession);
         affectPhyStats(fakeMOB, RS);
         RS.setRejuv(PhyStats.NO_REJUV);
-        GR.setStat("ESTATS", CMLib.coffeeMaker().getPhyStatsStr(RS));
+        GR.setStat("ESTATS", CMLib.aetherMaker().getPhyStatsStr(RS));
 
         final CharStats S1 = (CharStats) CMClass.getCommon("DefaultCharStats");
         S1.setAllValues(0);
@@ -1118,17 +1118,17 @@ public class StdRace implements Race {
                     ADJSTAT.setStat(i, S1.getStat(i));
             }
         }
-        GR.setStat("ASTATS", CMLib.coffeeMaker().getCharStatsStr(ADJSTAT));
-        GR.setStat("CSTATS", CMLib.coffeeMaker().getCharStatsStr(SETSTAT));
+        GR.setStat("ASTATS", CMLib.aetherMaker().getCharStatsStr(ADJSTAT));
+        GR.setStat("CSTATS", CMLib.aetherMaker().getCharStatsStr(SETSTAT));
 
         final CharState CS = (CharState) CMClass.getCommon("DefaultCharState");
         CS.setAllValues(0);
         affectCharState(fakeMOB, CS);
-        GR.setStat("ASTATE", CMLib.coffeeMaker().getCharStateStr(CS));
+        GR.setStat("ASTATE", CMLib.aetherMaker().getCharStateStr(CS));
 
         //CharState STARTCS=(CharState)CMClass.getCommon("DefaultCharState"); STARTCS.setAllValues(0);
         //startRacing(fakeMOB,falsed);
-        //GR.setStat("STARTASTATE",CMLib.coffeeMaker().getCharStateStr(STARTCS));
+        //GR.setStat("STARTASTATE",CMLib.aetherMaker().getCharStateStr(STARTCS));
 
         GR.setStat("DISFLAGS", "" + ((classless() ? Race.GENFLAG_NOCLASS : 0)
             | (leveless() ? Race.GENFLAG_NOLEVELS : 0)
@@ -1300,11 +1300,11 @@ public class StdRace implements Race {
 
         final PhyStats RS1 = (PhyStats) CMClass.getCommon("DefaultPhyStats");
         RS1.setAllValues(0);
-        CMLib.coffeeMaker().setPhyStats(RS1, race1.getStat("ESTATS"));
+        CMLib.aetherMaker().setPhyStats(RS1, race1.getStat("ESTATS"));
 
         final PhyStats RS2 = (PhyStats) CMClass.getCommon("DefaultPhyStats");
         RS2.setAllValues(0);
-        CMLib.coffeeMaker().setPhyStats(RS2, race2.getStat("ESTATS"));
+        CMLib.aetherMaker().setPhyStats(RS2, race2.getStat("ESTATS"));
 
         final PhyStats RS = (PhyStats) CMClass.getCommon("DefaultPhyStats");
         RS.setAbility((RS1.ability() + RS2.ability()) / 2);
@@ -1317,26 +1317,26 @@ public class StdRace implements Race {
         RS.setSpeed((RS1.speed() + RS2.speed()) / 2.0);
         RS.setWeight((RS1.weight() + RS2.weight()) / 2);
         RS.setRejuv(PhyStats.NO_REJUV);
-        GR.setStat("ESTATS", CMLib.coffeeMaker().getPhyStatsStr(RS));
+        GR.setStat("ESTATS", CMLib.aetherMaker().getPhyStatsStr(RS));
 
         final CharStats SETSTAT1 = (CharStats) CMClass.getCommon("DefaultCharStats");
         SETSTAT1.setAllValues(0);
-        CMLib.coffeeMaker().setCharStats(SETSTAT1, race1.getStat("CSTATS"));
+        CMLib.aetherMaker().setCharStats(SETSTAT1, race1.getStat("CSTATS"));
 
         final CharStats SETSTAT2 = (CharStats) CMClass.getCommon("DefaultCharStats");
         SETSTAT2.setAllValues(0);
-        CMLib.coffeeMaker().setCharStats(SETSTAT2, race2.getStat("CSTATS"));
+        CMLib.aetherMaker().setCharStats(SETSTAT2, race2.getStat("CSTATS"));
 
         final CharStats SETSTAT = (CharStats) CMClass.getCommon("DefaultCharStats");
         SETSTAT.setAllValues(0);
 
         final CharStats ADJSTAT1 = (CharStats) CMClass.getCommon("DefaultCharStats");
         ADJSTAT1.setAllValues(0);
-        CMLib.coffeeMaker().setCharStats(ADJSTAT1, race1.getStat("ASTATS"));
+        CMLib.aetherMaker().setCharStats(ADJSTAT1, race1.getStat("ASTATS"));
 
         final CharStats ADJSTAT2 = (CharStats) CMClass.getCommon("DefaultCharStats");
         ADJSTAT2.setAllValues(0);
-        CMLib.coffeeMaker().setCharStats(ADJSTAT2, race2.getStat("ASTATS"));
+        CMLib.aetherMaker().setCharStats(ADJSTAT2, race2.getStat("ASTATS"));
 
         final CharStats ADJSTAT = (CharStats) CMClass.getCommon("DefaultCharStats");
         ADJSTAT.setAllValues(0);
@@ -1365,15 +1365,15 @@ public class StdRace implements Race {
             } else if ((i != CharStats.STAT_GENDER) && (i != CharStats.STAT_AGE))
                 ADJSTAT.setStat(i, (ADJSTAT1.getStat(i) + ADJSTAT2.getStat(i)) / 2);
         }
-        GR.setStat("ASTATS", CMLib.coffeeMaker().getCharStatsStr(ADJSTAT));
-        GR.setStat("CSTATS", CMLib.coffeeMaker().getCharStatsStr(SETSTAT));
+        GR.setStat("ASTATS", CMLib.aetherMaker().getCharStatsStr(ADJSTAT));
+        GR.setStat("CSTATS", CMLib.aetherMaker().getCharStatsStr(SETSTAT));
 
         final CharState CS1 = (CharState) CMClass.getCommon("DefaultCharState");
         CS1.setAllValues(0);
-        CMLib.coffeeMaker().setCharState(CS1, race1.getStat("ASTATE"));
+        CMLib.aetherMaker().setCharState(CS1, race1.getStat("ASTATE"));
         final CharState CS2 = (CharState) CMClass.getCommon("DefaultCharState");
         CS2.setAllValues(0);
-        CMLib.coffeeMaker().setCharState(CS2, race2.getStat("ASTATE"));
+        CMLib.aetherMaker().setCharState(CS2, race2.getStat("ASTATE"));
         final CharState CS = (CharState) CMClass.getCommon("DefaultCharState");
         CS.setAllValues(0);
 
@@ -1383,15 +1383,15 @@ public class StdRace implements Race {
         CS.setMana((CS1.getMana() + CS2.getMana()) / 2);
         CS.setMovement((CS1.getMovement() + CS2.getMovement()) / 2);
         CS.setThirst((CS1.getThirst() + CS2.getThirst()) / 2);
-        GR.setStat("ASTATE", CMLib.coffeeMaker().getCharStateStr(CS));
+        GR.setStat("ASTATE", CMLib.aetherMaker().getCharStateStr(CS));
 
         final CharState STARTCS1 = (CharState) CMClass.getCommon("DefaultCharState");
         STARTCS1.setAllValues(0);
-        CMLib.coffeeMaker().setCharState(STARTCS1, race1.getStat("STARTASTATE"));
+        CMLib.aetherMaker().setCharState(STARTCS1, race1.getStat("STARTASTATE"));
 
         final CharState STARTCS2 = (CharState) CMClass.getCommon("DefaultCharState");
         STARTCS2.setAllValues(0);
-        CMLib.coffeeMaker().setCharState(STARTCS1, race2.getStat("STARTASTATE"));
+        CMLib.aetherMaker().setCharState(STARTCS1, race2.getStat("STARTASTATE"));
 
         final CharState STARTCS = (CharState) CMClass.getCommon("DefaultCharState");
         STARTCS.setAllValues(0);
@@ -1402,7 +1402,7 @@ public class StdRace implements Race {
         STARTCS.setMana((STARTCS1.getMana() + STARTCS2.getMana()) / 2);
         STARTCS.setMovement((STARTCS1.getMovement() + STARTCS2.getMovement()) / 2);
         STARTCS.setThirst((STARTCS1.getThirst() + STARTCS2.getThirst()) / 2);
-        GR.setStat("STARTASTATE", CMLib.coffeeMaker().getCharStateStr(STARTCS));
+        GR.setStat("STARTASTATE", CMLib.aetherMaker().getCharStateStr(STARTCS));
 
         GR.setStat("DISFLAGS", "" + (CMath.s_int(race1.getStat("DISFLAGS")) | CMath.s_int(race2.getStat("DISFLAGS"))));
 
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/CoffeeTableRows.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/AetherTableRows.java
similarity index 84%
rename from src/main/java/com/syncleus/aethermud/game/WebMacros/CoffeeTableRows.java
rename to src/main/java/com/syncleus/aethermud/game/WebMacros/AetherTableRows.java
index 9738fb47c8..e7f67ec6ed 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/CoffeeTableRows.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/AetherTableRows.java
@@ -18,7 +18,7 @@ package com.syncleus.aethermud.game.WebMacros;
 
 import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
 import com.syncleus.aethermud.game.CharClasses.interfaces.CharClass;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.Common.interfaces.Quest;
 import com.syncleus.aethermud.game.core.*;
 import com.syncleus.aethermud.game.core.collections.PairSVector;
@@ -31,10 +31,10 @@ import java.util.List;
 import java.util.Vector;
 
 
-public class CoffeeTableRows extends StdWebMacro {
+public class AetherTableRows extends StdWebMacro {
     @Override
     public String name() {
-        return "CoffeeTableRows";
+        return "AetherTableRows";
     }
 
     //HEADER, FOOTER, DATERANGE, DATESTART, DATEEND, LEVELSUP, DIVORCES, BIRTHS, MARRIAGES, PURGES, CLASSCHANGES, PKDEATHS, DEATHS, NEWPLAYERS, TOTALHOURS, AVERAGETICKS, AVERAGEONLINE, MOSTONLINE, LOGINS,
@@ -67,8 +67,8 @@ public class CoffeeTableRows extends StdWebMacro {
         ENDQ.set(Calendar.MINUTE, 59);
         ENDQ.set(Calendar.SECOND, 59);
         ENDQ.set(Calendar.MILLISECOND, 000);
-        CMLib.coffeeTables().update();
-        final List<CoffeeTableRow> V = CMLib.database().DBReadStats(ENDQ.getTimeInMillis() - 1, 0);
+        CMLib.aetherTables().update();
+        final List<AetherTableRow> V = CMLib.database().DBReadStats(ENDQ.getTimeInMillis() - 1, 0);
         if (V.size() == 0) {
             return "";
         }
@@ -107,7 +107,7 @@ public class CoffeeTableRows extends StdWebMacro {
                     && ((onlyAbilityDomains < 0) || ((A.classificationCode() & Ability.ALL_DOMAINS) == onlyAbilityDomains)))
                     allSkills.addElement(A);
             }
-            final long[][] totals = new long[allSkills.size()][CoffeeTableRow.STAT_TOTAL];
+            final long[][] totals = new long[allSkills.size()][AetherTableRow.STAT_TOTAL];
             while ((V.size() > 0) && (curTime > (ENDQ.getTimeInMillis()))) {
                 lastCur = curTime;
                 final Calendar C2 = Calendar.getInstance();
@@ -118,21 +118,21 @@ public class CoffeeTableRows extends StdWebMacro {
                 C2.set(Calendar.SECOND, 59);
                 C2.set(Calendar.MILLISECOND, 999);
                 curTime = C2.getTimeInMillis();
-                final Vector<CoffeeTableRow> set = new Vector<CoffeeTableRow>();
+                final Vector<AetherTableRow> set = new Vector<AetherTableRow>();
                 if (V.size() == 1) {
-                    final CoffeeTableRow T = V.get(0);
+                    final AetherTableRow T = V.get(0);
                     set.addElement(T);
                     V.remove(0);
                 } else
                     for (int v = V.size() - 1; v >= 0; v--) {
-                        final CoffeeTableRow T = V.get(v);
+                        final AetherTableRow T = V.get(v);
                         if ((T.startTime() > curTime) && (T.endTime() <= lastCur)) {
                             set.addElement(T);
                             V.remove(v);
                         }
                     }
                 for (int s = 0; s < set.size(); s++) {
-                    final CoffeeTableRow T = set.elementAt(s);
+                    final AetherTableRow T = set.elementAt(s);
                     for (int x = 0; x < allSkills.size(); x++)
                         T.totalUp("A" + allSkills.elementAt(x).ID().toUpperCase(), totals[x]);
                 }
@@ -157,13 +157,13 @@ public class CoffeeTableRows extends StdWebMacro {
                         }
                     } else if (key.equalsIgnoreCase("SKILLUSE")) {
                         if (A != null)
-                            table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_SKILLUSE] + footer + "</TD>");
+                            table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_SKILLUSE] + footer + "</TD>");
                     }
                 }
                 table.append("</TR>");
             }
         } else if (parms.containsKey("QUESTNAME") || parms.containsKey("QUESTRPT")) {
-            final long[][] totals = new long[CMLib.quests().numQuests()][CoffeeTableRow.STAT_TOTAL];
+            final long[][] totals = new long[CMLib.quests().numQuests()][AetherTableRow.STAT_TOTAL];
             while ((V.size() > 0) && (curTime > (ENDQ.getTimeInMillis()))) {
                 lastCur = curTime;
                 final Calendar C2 = Calendar.getInstance();
@@ -174,14 +174,14 @@ public class CoffeeTableRows extends StdWebMacro {
                 C2.set(Calendar.SECOND, 59);
                 C2.set(Calendar.MILLISECOND, 999);
                 curTime = C2.getTimeInMillis();
-                final Vector<CoffeeTableRow> set = new Vector<CoffeeTableRow>();
+                final Vector<AetherTableRow> set = new Vector<AetherTableRow>();
                 if (V.size() == 1) {
-                    final CoffeeTableRow T = V.get(0);
+                    final AetherTableRow T = V.get(0);
                     set.addElement(T);
                     V.remove(0);
                 } else
                     for (int v = V.size() - 1; v >= 0; v--) {
-                        final CoffeeTableRow T = V.get(v);
+                        final AetherTableRow T = V.get(v);
                         if ((T.startTime() > curTime) && (T.endTime() <= lastCur)) {
                             set.addElement(T);
                             V.remove(v);
@@ -192,7 +192,7 @@ public class CoffeeTableRows extends StdWebMacro {
                     V.clear();
                 }
                 for (int s = 0; s < set.size(); s++) {
-                    final CoffeeTableRow T = set.elementAt(s);
+                    final AetherTableRow T = set.elementAt(s);
                     for (int x = 0; x < CMLib.quests().numQuests(); x++)
                         T.totalUp("U" + T.tagFix(CMLib.quests().fetchQuest(x).name()), totals[x]);
                 }
@@ -216,23 +216,23 @@ public class CoffeeTableRows extends StdWebMacro {
                     else if (key.equalsIgnoreCase("DATEEND"))
                         table.append("<TD" + colspan + ">" + header + CMLib.time().date2DateString(lastCur) + footer + "</TD>");
                     else if (key.equalsIgnoreCase("FAILEDSTART"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTFAILEDSTART] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTFAILEDSTART] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("TIMESTART"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTTIMESTART] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTTIMESTART] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("TIMESTOP"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTTIMESTOP] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTTIMESTOP] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("STOP"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTSTOP] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTSTOP] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("ACCEPTED"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTACCEPTED] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTACCEPTED] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("FAILED"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTFAILED] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTFAILED] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("SUCCESS"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTSUCCESS] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTSUCCESS] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("DROPPED"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTDROPPED] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTDROPPED] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("STARTATTEMPT"))
-                        table.append("<TD" + colspan + ">" + header + totals[x][CoffeeTableRow.STAT_QUESTSTARTATTEMPT] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[x][AetherTableRow.STAT_QUESTSTARTATTEMPT] + footer + "</TD>");
                 }
                 table.append("</TR>");
             }
@@ -248,28 +248,28 @@ public class CoffeeTableRows extends StdWebMacro {
                 C2.set(Calendar.SECOND, 59);
                 C2.set(Calendar.MILLISECOND, 999);
                 curTime = C2.getTimeInMillis();
-                final Vector<CoffeeTableRow> set = new Vector<CoffeeTableRow>();
+                final Vector<AetherTableRow> set = new Vector<AetherTableRow>();
                 for (int v = V.size() - 1; v >= 0; v--) {
-                    final CoffeeTableRow T = V.get(v);
+                    final AetherTableRow T = V.get(v);
                     if ((T.startTime() > curTime) && (T.endTime() <= lastCur)) {
                         set.addElement(T);
                         V.remove(v);
                     }
                 }
-                final long[] totals = new long[CoffeeTableRow.STAT_TOTAL];
+                final long[] totals = new long[AetherTableRow.STAT_TOTAL];
                 long highestOnline = 0;
                 long numberOnlineTotal = 0;
                 long numberOnlineCounter = 0;
                 for (int s = 0; s < set.size(); s++) {
-                    final CoffeeTableRow T = set.elementAt(s);
+                    final AetherTableRow T = set.elementAt(s);
                     T.totalUp(code, totals);
                     if (T.highestOnline() > highestOnline)
                         highestOnline = T.highestOnline();
                     numberOnlineTotal += T.numberOnlineTotal();
                     numberOnlineCounter += T.numberOnlineCounter();
                 }
-                final long minsOnline = (totals[CoffeeTableRow.STAT_TICKSONLINE] * CMProps.getTickMillis()) / (1000 * 60);
-                totals[CoffeeTableRow.STAT_TICKSONLINE] = (totals[CoffeeTableRow.STAT_TICKSONLINE] * CMProps.getTickMillis()) / (1000 * 60 * 60);
+                final long minsOnline = (totals[AetherTableRow.STAT_TICKSONLINE] * CMProps.getTickMillis()) / (1000 * 60);
+                totals[AetherTableRow.STAT_TICKSONLINE] = (totals[AetherTableRow.STAT_TICKSONLINE] * CMProps.getTickMillis()) / (1000 * 60 * 60);
                 double avgOnline = (numberOnlineCounter > 0) ? CMath.div(numberOnlineTotal, numberOnlineCounter) : 0.0;
                 avgOnline = CMath.div(Math.round(avgOnline * 10.0), 10.0);
                 table.append("<TR>");
@@ -284,33 +284,33 @@ public class CoffeeTableRows extends StdWebMacro {
                     else if (key.equalsIgnoreCase("DATEEND"))
                         table.append("<TD" + colspan + ">" + header + CMLib.time().date2DateString(lastCur) + footer + "</TD>");
                     else if (key.equalsIgnoreCase("LOGINS"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_LOGINS] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_LOGINS] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("MOSTONLINE"))
                         table.append("<TD" + colspan + ">" + header + highestOnline + footer + "</TD>");
                     else if (key.equalsIgnoreCase("AVERAGEONLINE"))
                         table.append("<TD" + colspan + ">" + header + avgOnline + footer + "</TD>");
                     else if (key.equalsIgnoreCase("AVERAGETICKS"))
-                        table.append("<TD" + colspan + ">" + header + ((totals[CoffeeTableRow.STAT_LOGINS] > 0) ? (minsOnline / totals[CoffeeTableRow.STAT_LOGINS]) : 0) + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + ((totals[AetherTableRow.STAT_LOGINS] > 0) ? (minsOnline / totals[AetherTableRow.STAT_LOGINS]) : 0) + "</TD>");
                     else if (key.equalsIgnoreCase("TOTALHOURS"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_TICKSONLINE] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_TICKSONLINE] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("NEWPLAYERS"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_NEWPLAYERS] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_NEWPLAYERS] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("DEATHS"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_DEATHS] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_DEATHS] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("PKDEATHS"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_PKDEATHS] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_PKDEATHS] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("CLASSCHANGES"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_CLASSCHANGE] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_CLASSCHANGE] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("PURGES"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_PURGES] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_PURGES] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("MARRIAGES"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_MARRIAGES] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_MARRIAGES] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("BIRTHS"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_BIRTHS] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_BIRTHS] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("DIVORCES"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_DIVORCES] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_DIVORCES] + footer + "</TD>");
                     else if (key.equalsIgnoreCase("LEVELSUP"))
-                        table.append("<TD" + colspan + ">" + header + totals[CoffeeTableRow.STAT_LEVELSGAINED] + footer + "</TD>");
+                        table.append("<TD" + colspan + ">" + header + totals[AetherTableRow.STAT_LEVELSGAINED] + footer + "</TD>");
                 }
                 table.append("</TR>");
                 if (scale == 0)
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/AreaData.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/AreaData.java
index fe40e98970..fa53913df5 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/AreaData.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/AreaData.java
@@ -212,7 +212,7 @@ public class AreaData extends StdWebMacro {
                     return "" + (A instanceof BoardableShip);
                 }
                 if (parms.containsKey("AREAXML")) {
-                    return this.clearWebMacros(CMLib.xml().parseOutAngleBracketsAndQuotes(CMLib.coffeeMaker().getAreaObjectXML(A, null, null, null, true).toString()));
+                    return this.clearWebMacros(CMLib.xml().parseOutAngleBracketsAndQuotes(CMLib.aetherMaker().getAreaObjectXML(A, null, null, null, true).toString()));
                 }
                 if (parms.containsKey("HELP")) {
                     StringBuilder s = CMLib.help().getHelpText("AREA_" + A.Name(), null, false);
@@ -319,8 +319,8 @@ public class AreaData extends StdWebMacro {
                     if (A.getCurrency().length() == 0)
                         str.append(" SELECTED");
                     str.append(L(">Default Currency"));
-                    for (int i = 1; i < CMLib.beanCounter().getAllCurrencies().size(); i++) {
-                        final String s = CMLib.beanCounter().getAllCurrencies().get(i);
+                    for (int i = 1; i < CMLib.moneyCounter().getAllCurrencies().size(); i++) {
+                        final String s = CMLib.moneyCounter().getAllCurrencies().get(i);
                         if (s.length() > 0) {
                             str.append("<OPTION VALUE=\"" + s + "\"");
                             if (s.equalsIgnoreCase(A.getCurrency()))
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/AreaScriptNext.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/AreaScriptNext.java
index d0291e3b28..38310c1095 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/AreaScriptNext.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/AreaScriptNext.java
@@ -74,7 +74,7 @@ public class AreaScriptNext extends StdWebMacro {
                 if (files != null)
                     for (int f = 0; f < files.size(); f++)
                         addScript(list, prefix, SE.getScriptResourceKey(), B.ID(), files.get(f).toLowerCase(), files.get(f));
-                final String nonFiles = ((ScriptingEngine) B).getVar("*", "COFFEEMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT");
+                final String nonFiles = ((ScriptingEngine) B).getVar("*", "AETHERMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT");
                 if ((nonFiles != null) && (nonFiles.trim().length() > 0)) {
                     final AreaScriptInstance inst =
                         addScript(list, prefix, SE.getScriptResourceKey(), B.ID(), "Custom", nonFiles);
@@ -89,7 +89,7 @@ public class AreaScriptNext extends StdWebMacro {
             final List<String> files = SE.externalFiles();
             for (int f = 0; f < files.size(); f++)
                 addScript(list, prefix, SE.getScriptResourceKey(), null, files.get(f).toLowerCase(), files.get(f));
-            final String nonFiles = SE.getVar("*", "COFFEEMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT");
+            final String nonFiles = SE.getVar("*", "AETHERMUD_SYSTEM_INTERNAL_NONFILENAME_SCRIPT");
             if (nonFiles.trim().length() > 0) {
                 final AreaScriptInstance inst =
                     addScript(list, prefix, SE.getScriptResourceKey(), null, "Custom", nonFiles);
@@ -101,7 +101,7 @@ public class AreaScriptNext extends StdWebMacro {
     public void addShopScripts(TreeMap<String, ArrayList<AreaScriptInstance>> list, ArrayList<String> prefix, PhysicalAgent E) {
         if (E == null)
             return;
-        final ShopKeeper SK = CMLib.coffeeShops().getShopKeeper(E);
+        final ShopKeeper SK = CMLib.aetherShops().getShopKeeper(E);
         if (SK != null) {
             for (final Iterator<Environmental> i = SK.getShop().getStoreInventory(); i.hasNext(); ) {
                 final Environmental E2 = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/BankAccountInfo.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/BankAccountInfo.java
index ccbf7cc96c..c781e7dee6 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/BankAccountInfo.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/BankAccountInfo.java
@@ -116,7 +116,7 @@ public class BankAccountInfo extends StdWebMacro {
             if (balance <= 0.0)
                 return "";
             if (parms.containsKey("BALANCE"))
-                return CMLib.beanCounter().nameCurrencyLong(playerM, balance);
+                return CMLib.moneyCounter().nameCurrencyLong(playerM, balance);
             if ((parms.containsKey("DEBTAMT"))
                 || (parms.containsKey("DEBTRSN"))
                 || (parms.containsKey("DEBTDUE"))
@@ -143,7 +143,7 @@ public class BankAccountInfo extends StdWebMacro {
                     }
                 }
                 if (parms.containsKey("DEBTAMT"))
-                    return CMLib.beanCounter().nameCurrencyLong(playerM, amt);
+                    return CMLib.moneyCounter().nameCurrencyLong(playerM, amt);
                 if (parms.containsKey("DEBTRSN"))
                     return reason;
                 if (parms.containsKey("DEBTDUE"))
@@ -154,7 +154,7 @@ public class BankAccountInfo extends StdWebMacro {
             if (parms.containsKey("NUMITEMS"))
                 return "" + (B.numberDeposited(playerM.Name()) - 1);
             if (parms.containsKey("ITEMSWORTH"))
-                return CMLib.beanCounter().nameCurrencyLong(playerM, B.totalItemsWorth(playerM.Name()));
+                return CMLib.moneyCounter().nameCurrencyLong(playerM, B.totalItemsWorth(playerM.Name()));
             if (parms.containsKey("ITEMSLIST")) {
                 final List<Item> items = acct.items;
                 if (items != null) {
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/ChannelBackLogNext.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/ChannelBackLogNext.java
index 55c5148a88..7d67f10de2 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/ChannelBackLogNext.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/ChannelBackLogNext.java
@@ -106,7 +106,7 @@ public class ChannelBackLogNext extends StdWebMacro {
                     }
                     str += " (" + CMLib.time().date2SmartEllapsedTime(elapsedTime, false) + " ago)";
                     if (CMLib.channels().mayReadThisChannel(msg.source(), areareq, mob, channelInt, true))
-                        return clearWebMacros(CMLib.coffeeFilter().fullOutFilter(mob.session(), mob, msg.source(), msg.target(), msg.tool(), CMStrings.removeColors(str), false));
+                        return clearWebMacros(CMLib.aetherFilter().fullOutFilter(mob.session(), mob, msg.source(), msg.target(), msg.tool(), CMStrings.removeColors(str), false));
                 }
             }
             return "";
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/CharClassData.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/CharClassData.java
index 026b881d20..f9510b6ae6 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/CharClassData.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/CharClassData.java
@@ -570,7 +570,7 @@ public class CharClassData extends StdWebMacro {
                         final PhyStats adjPStats = (PhyStats) CMClass.getCommon("DefaultPhyStats");
                         adjPStats.setAllValues(0);
                         if (eStats.length() > 0) {
-                            CMLib.coffeeMaker().setPhyStats(adjPStats, eStats);
+                            CMLib.aetherMaker().setPhyStats(adjPStats, eStats);
                         }
                         str.append(RaceData.estats(adjPStats, 'E', httpReq, parms, 0) + ", ");
                     }
@@ -579,7 +579,7 @@ public class CharClassData extends StdWebMacro {
                         setStats.setAllValues(0);
                         final String cStats = C.getStat("CSTATS");
                         if (cStats.length() > 0) {
-                            CMLib.coffeeMaker().setCharStats(setStats, cStats);
+                            CMLib.aetherMaker().setCharStats(setStats, cStats);
                         }
                         str.append(RaceData.cstats(setStats, 'S', httpReq, parms, 0) + ", ");
                     }
@@ -588,7 +588,7 @@ public class CharClassData extends StdWebMacro {
                         adjStats.setAllValues(0);
                         final String cStats = C.getStat("ASTATS");
                         if (cStats.length() > 0) {
-                            CMLib.coffeeMaker().setCharStats(adjStats, cStats);
+                            CMLib.aetherMaker().setCharStats(adjStats, cStats);
                         }
                         str.append(RaceData.cstats(adjStats, 'A', httpReq, parms, 0) + ", ");
                     }
@@ -597,7 +597,7 @@ public class CharClassData extends StdWebMacro {
                         adjState.setAllValues(0);
                         final String aState = C.getStat("ASTATE");
                         if (aState.length() > 0) {
-                            CMLib.coffeeMaker().setCharState(adjState, aState);
+                            CMLib.aetherMaker().setCharState(adjState, aState);
                         }
                         str.append(RaceData.cstate(adjState, 'A', httpReq, parms, 0) + ", ");
                     }
@@ -606,7 +606,7 @@ public class CharClassData extends StdWebMacro {
                         startAdjState.setAllValues(0);
                         final String saState = C.getStat("STARTASTATE");
                         if (saState.length() > 0) {
-                            CMLib.coffeeMaker().setCharState(startAdjState, saState);
+                            CMLib.aetherMaker().setCharState(startAdjState, saState);
                         }
                         str.append(RaceData.cstate(startAdjState, 'S', httpReq, parms, 0) + ", ");
                     }
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/ItemData.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/ItemData.java
index f35b5ed213..6ba517d946 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/ItemData.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/ItemData.java
@@ -897,7 +897,7 @@ public class ItemData extends StdWebMacro {
                         {
                             if ((firstTime) && (I instanceof Coins))
                                 old = "" + ((Coins) I).getCurrency();
-                            final List<String> cs = CMLib.beanCounter().getAllCurrencies();
+                            final List<String> cs = CMLib.moneyCounter().getAllCurrencies();
                             str.append("<OPTION VALUE=\"\"");
                             if (old.length() == 0)
                                 str.append(" SELECTED");
@@ -917,7 +917,7 @@ public class ItemData extends StdWebMacro {
                             String currency = (I instanceof Coins) ? currency = ((Coins) I).getCurrency() : "";
                             if ((firstTime) && (I instanceof Coins))
                                 old = "" + ((Coins) I).getDenomination();
-                            final MoneyLibrary.MoneyDenomination[] DV = CMLib.beanCounter().getCurrencySet(currency);
+                            final MoneyLibrary.MoneyDenomination[] DV = CMLib.moneyCounter().getCurrencySet(currency);
                             for (final MoneyDenomination element : DV) {
                                 str.append("<OPTION VALUE=\"" + element.value() + "\"");
                                 if (element.value() == CMath.s_double(old))
@@ -1288,7 +1288,7 @@ public class ItemData extends StdWebMacro {
                         case AREAXML:
                             if (I instanceof BoardableShip) {
                                 str.append((firstTime) ?
-                                    CMLib.xml().parseOutAngleBracketsAndQuotes(CMLib.coffeeMaker().getAreaObjectXML(((BoardableShip) I).getShipArea(), null, null, null, true).toString()) :
+                                    CMLib.xml().parseOutAngleBracketsAndQuotes(CMLib.aetherMaker().getAreaObjectXML(((BoardableShip) I).getShipArea(), null, null, null, true).toString()) :
                                     old).append(", ");
                             }
                             break;
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/MUDGrinder.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/MUDGrinder.java
index 361676e7f6..124a0edf9a 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/MUDGrinder.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/MUDGrinder.java
@@ -571,7 +571,7 @@ public class MUDGrinder extends StdWebMacro {
                     CMLib.map().addArea(A);
                     CMLib.database().DBCreateArea(A);
                     A.setName(AREA);
-                    CMLib.coffeeMaker().addAutoPropsToAreaIfNecessary(A);
+                    CMLib.aetherMaker().addAutoPropsToAreaIfNecessary(A);
                 } else
                     return "false";
                 Log.sysOut("Grinder", mob.Name() + " added area " + A.Name());
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/MobData.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/MobData.java
index e9252e5ad7..c737d92c51 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/MobData.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/MobData.java
@@ -1036,7 +1036,7 @@ public class MobData extends StdWebMacro {
             httpReq.addFakeUrlParameter("DAMAGE", "" + M.basePhyStats().damage());
             httpReq.addFakeUrlParameter("SPEED", "" + M.basePhyStats().speed());
             httpReq.addFakeUrlParameter("ATTACK", "" + M.basePhyStats().attackAdjustment());
-            httpReq.addFakeUrlParameter("MONEY", "" + CMLib.beanCounter().getMoney(M));
+            httpReq.addFakeUrlParameter("MONEY", "" + CMLib.moneyCounter().getMoney(M));
         }
 
         final StringBuffer str = new StringBuffer("");
@@ -1200,8 +1200,8 @@ public class MobData extends StdWebMacro {
                         break;
                     case MONEY: // money
                         if (firstTime) {
-                            old = "" + CMLib.beanCounter().getMoney(M);
-                            CMLib.beanCounter().clearInventoryMoney(M, null);
+                            old = "" + CMLib.moneyCounter().getMoney(M);
+                            CMLib.moneyCounter().clearInventoryMoney(M, null);
                         }
                         str.append(old);
                         break;
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/PlayerData.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/PlayerData.java
index b9412a933f..b9c9a539da 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/PlayerData.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/PlayerData.java
@@ -189,7 +189,7 @@ public class PlayerData extends StdWebMacro {
                 str.append(M.getTrains() + ", ");
                 break;
             case 19:
-                str.append(CMLib.beanCounter().getMoney(M) + ", ");
+                str.append(CMLib.moneyCounter().getMoney(M) + ", ");
                 break;
             case 20:
                 str.append(M.getWorshipCharID() + ", ");
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/QuestMaker.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/QuestMaker.java
index 46503fa0be..ca71384e94 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/QuestMaker.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/QuestMaker.java
@@ -762,7 +762,7 @@ public class QuestMaker extends StdWebMacro {
                                     if (I == null)
                                         I = RoomData.getItemFromCatalog(V.get(v1));
                                     if (I != null)
-                                        val += CMLib.coffeeMaker().getItemXML(I).toString();
+                                        val += CMLib.aetherMaker().getItemXML(I).toString();
                                 }
                                 break;
                             }
@@ -775,7 +775,7 @@ public class QuestMaker extends StdWebMacro {
                                     if (M2 == null)
                                         M2 = RoomData.getMOBFromCatalog(V.get(v1));
                                     if (M2 != null)
-                                        val += CMLib.coffeeMaker().getMobXML(M2).toString();
+                                        val += CMLib.aetherMaker().getMobXML(M2).toString();
                                 }
                                 break;
                             }
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/RaceData.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/RaceData.java
index 4c5b28d09a..a72626ec70 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/RaceData.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/RaceData.java
@@ -965,7 +965,7 @@ public class RaceData extends StdWebMacro {
                         final PhyStats adjPStats = (PhyStats) CMClass.getCommon("DefaultPhyStats");
                         adjPStats.setAllValues(0);
                         if (eStats.length() > 0) {
-                            CMLib.coffeeMaker().setPhyStats(adjPStats, eStats);
+                            CMLib.aetherMaker().setPhyStats(adjPStats, eStats);
                         }
                         str.append(estats(adjPStats, 'E', httpReq, parms, 0) + ", ");
                     }
@@ -974,7 +974,7 @@ public class RaceData extends StdWebMacro {
                         setStats.setAllValues(0);
                         final String cStats = R.getStat("CSTATS");
                         if (cStats.length() > 0) {
-                            CMLib.coffeeMaker().setCharStats(setStats, cStats);
+                            CMLib.aetherMaker().setCharStats(setStats, cStats);
                         }
                         str.append(cstats(setStats, 'S', httpReq, parms, 0) + ", ");
                     }
@@ -983,7 +983,7 @@ public class RaceData extends StdWebMacro {
                         adjStats.setAllValues(0);
                         final String cStats = R.getStat("ASTATS");
                         if (cStats.length() > 0) {
-                            CMLib.coffeeMaker().setCharStats(adjStats, cStats);
+                            CMLib.aetherMaker().setCharStats(adjStats, cStats);
                         }
                         str.append(cstats(adjStats, 'A', httpReq, parms, 0) + ", ");
                     }
@@ -992,7 +992,7 @@ public class RaceData extends StdWebMacro {
                         adjState.setAllValues(0);
                         final String aState = R.getStat("ASTATE");
                         if (aState.length() > 0) {
-                            CMLib.coffeeMaker().setCharState(adjState, aState);
+                            CMLib.aetherMaker().setCharState(adjState, aState);
                         }
                         str.append(cstate(adjState, 'A', httpReq, parms, 0) + ", ");
                     }
@@ -1001,7 +1001,7 @@ public class RaceData extends StdWebMacro {
                         startAdjState.setAllValues(0);
                         final String saState = R.getStat("STARTASTATE");
                         if (saState.length() > 0) {
-                            CMLib.coffeeMaker().setCharState(startAdjState, saState);
+                            CMLib.aetherMaker().setCharState(startAdjState, saState);
                         }
                         str.append(cstate(startAdjState, 'S', httpReq, parms, 0) + ", ");
                     }
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/RoomData.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/RoomData.java
index dd4c695a26..c60233cd7f 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/RoomData.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/RoomData.java
@@ -18,7 +18,7 @@ package com.syncleus.aethermud.game.WebMacros;
 
 import com.syncleus.aethermud.game.Abilities.interfaces.Ability;
 import com.syncleus.aethermud.game.Behaviors.interfaces.Behavior;
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeShop;
+import com.syncleus.aethermud.game.Common.interfaces.AetherShop;
 import com.syncleus.aethermud.game.Items.interfaces.*;
 import com.syncleus.aethermud.game.Libraries.interfaces.TimeManager;
 import com.syncleus.aethermud.game.Locales.interfaces.GridLocale;
@@ -99,7 +99,7 @@ public class RoomData extends StdWebMacro {
         }
         if (M instanceof ShopKeeper) {
             final ShopKeeper shopK = (ShopKeeper) M;
-            final CoffeeShop shop = shopK.getShop();
+            final AetherShop shop = shopK.getShop();
             for (Iterator<Environmental> i = shop.getStoreInventory(); i.hasNext(); ) {
                 Environmental E = i.next();
                 if (E == I)
@@ -151,7 +151,7 @@ public class RoomData extends StdWebMacro {
                 return M.getItem(i);
         }
         if (M instanceof ShopKeeper) {
-            CoffeeShop shop = ((ShopKeeper) M).getShop();
+            AetherShop shop = ((ShopKeeper) M).getShop();
             code = origCode;
             for (Iterator<Environmental> i = shop.getStoreInventory(); i.hasNext(); ) {
                 Environmental E = i.next();
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/StdWebMacro.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/StdWebMacro.java
index 7a102b9a89..4f632c17a6 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/StdWebMacro.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/StdWebMacro.java
@@ -327,7 +327,7 @@ public class StdWebMacro implements WebMacro {
             return null;
         if (buf.length() == 0)
             return "";
-        return CMLib.coffeeFilter().simpleInFilter(new StringBuilder(buf));
+        return CMLib.aetherFilter().simpleInFilter(new StringBuilder(buf));
     }
 
     protected String htmlIncomingFilter(String buf) {
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/WebServerVersion.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/WebServerVersion.java
index b780c8feba..2facf94688 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/WebServerVersion.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/WebServerVersion.java
@@ -30,7 +30,7 @@ public class WebServerVersion extends StdWebMacro {
     @Override
     public String runMacro(HTTPRequest httpReq, String parm, HTTPResponse httpResp) {
         if (Thread.currentThread() instanceof CWThread)
-            return "WebServer " + ((CWThread) Thread.currentThread()).getConfig().getCoffeeWebServer().getVersion();
+            return "WebServer " + ((CWThread) Thread.currentThread()).getConfig().getAetherWebServer().getVersion();
         return Float.toString(httpReq.getHttpVer());
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderAreas.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderAreas.java
index 16a4100ac8..1fa1ca4ad1 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderAreas.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderAreas.java
@@ -211,13 +211,13 @@ public class GrinderAreas {
         String desc = httpReq.getUrlParameter("DESCRIPTION");
         if (desc == null)
             desc = "";
-        A.setDescription(CMLib.coffeeFilter().safetyFilter(desc));
+        A.setDescription(CMLib.aetherFilter().safetyFilter(desc));
 
         // image
         String img = httpReq.getUrlParameter("IMAGE");
         if (img == null)
             img = "";
-        A.setImage(CMLib.coffeeFilter().safetyFilter(img));
+        A.setImage(CMLib.aetherFilter().safetyFilter(img));
 
         // gridy
         final String gridy = httpReq.getUrlParameter("GRIDY");
@@ -232,54 +232,54 @@ public class GrinderAreas {
         String author = httpReq.getUrlParameter("AUTHOR");
         if (author == null)
             author = "";
-        A.setAuthorID(CMLib.coffeeFilter().safetyFilter(author));
+        A.setAuthorID(CMLib.aetherFilter().safetyFilter(author));
 
         // currency
         String currency = httpReq.getUrlParameter("CURRENCY");
         if (currency == null)
             currency = "";
-        A.setCurrency(CMLib.coffeeFilter().safetyFilter(currency));
+        A.setCurrency(CMLib.aetherFilter().safetyFilter(currency));
 
         // SHOPPREJ
         String SHOPPREJ = httpReq.getUrlParameter("SHOPPREJ");
         if (SHOPPREJ == null)
             SHOPPREJ = "";
-        A.setPrejudiceFactors(CMLib.coffeeFilter().safetyFilter(SHOPPREJ));
+        A.setPrejudiceFactors(CMLib.aetherFilter().safetyFilter(SHOPPREJ));
 
         // BUDGET
         String BUDGET = httpReq.getUrlParameter("BUDGET");
         if (BUDGET == null)
             BUDGET = "";
-        A.setBudget(CMLib.coffeeFilter().safetyFilter(BUDGET));
+        A.setBudget(CMLib.aetherFilter().safetyFilter(BUDGET));
 
         // DEVALRATE
         String DEVALRATE = httpReq.getUrlParameter("DEVALRATE");
         if (DEVALRATE == null)
             DEVALRATE = "";
-        A.setDevalueRate(CMLib.coffeeFilter().safetyFilter(DEVALRATE));
+        A.setDevalueRate(CMLib.aetherFilter().safetyFilter(DEVALRATE));
 
         // INVRESETRATE
         String INVRESETRATE = httpReq.getUrlParameter("INVRESETRATE");
         if (INVRESETRATE == null)
             INVRESETRATE = "0";
-        A.setInvResetRate(CMath.s_int(CMLib.coffeeFilter().safetyFilter(INVRESETRATE)));
+        A.setInvResetRate(CMath.s_int(CMLib.aetherFilter().safetyFilter(INVRESETRATE)));
 
         // IGNOREMASK
         String IGNOREMASK = httpReq.getUrlParameter("IGNOREMASK");
         if (IGNOREMASK == null)
             IGNOREMASK = "";
-        A.setIgnoreMask(CMLib.coffeeFilter().safetyFilter(IGNOREMASK));
+        A.setIgnoreMask(CMLib.aetherFilter().safetyFilter(IGNOREMASK));
 
         if (A instanceof AutoGenArea) {
             String AGXMLPATH = httpReq.getUrlParameter("AGXMLPATH");
             if (AGXMLPATH == null)
                 AGXMLPATH = "";
-            ((AutoGenArea) A).setGeneratorXmlPath(CMLib.coffeeFilter().safetyFilter(AGXMLPATH));
+            ((AutoGenArea) A).setGeneratorXmlPath(CMLib.aetherFilter().safetyFilter(AGXMLPATH));
 
             String AGAUTOVAR = httpReq.getUrlParameter("AGAUTOVAR");
             if (AGAUTOVAR == null)
                 AGAUTOVAR = "";
-            ((AutoGenArea) A).setAutoGenVariables(CMLib.coffeeFilter().safetyFilter(AGAUTOVAR));
+            ((AutoGenArea) A).setAutoGenVariables(CMLib.aetherFilter().safetyFilter(AGAUTOVAR));
         }
 
         // PRICEFACTORS
@@ -350,7 +350,7 @@ public class GrinderAreas {
             final Area A2 = areasNeedingUpdates.elementAt(i);
             if (CMLib.flags().isSavable(A2)) {
                 CMLib.database().DBUpdateArea(A2.Name(), A2);
-                CMLib.coffeeMaker().addAutoPropsToAreaIfNecessary(A2);
+                CMLib.aetherMaker().addAutoPropsToAreaIfNecessary(A2);
             }
         }
         return "";
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderMobs.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderMobs.java
index 8933f32aef..f8f5f4e986 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderMobs.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderMobs.java
@@ -417,7 +417,7 @@ public class GrinderMobs {
                             }
                             break;
                         case MONEY: // money
-                            CMLib.beanCounter().setMoney(M, CMath.s_int(old));
+                            CMLib.moneyCounter().setMoney(M, CMath.s_int(old));
                             break;
                         case ISRIDEABLE: // is rideable
                             break;
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderPlayers.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderPlayers.java
index f29ad11914..07ec9a179b 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderPlayers.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderPlayers.java
@@ -183,7 +183,7 @@ public class GrinderPlayers extends GrinderMobs {
                         M.setTrains(CMath.s_int(old));
                         break;
                     case 19:
-                        CMLib.beanCounter().setMoney(M, CMath.s_int(old));
+                        CMLib.moneyCounter().setMoney(M, CMath.s_int(old));
                         break;
                     case 20:
                         if (CMLib.map().getDeity(old) != null)
diff --git a/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderRaces.java b/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderRaces.java
index 51ad702548..1a1c34866c 100644
--- a/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderRaces.java
+++ b/src/main/java/com/syncleus/aethermud/game/WebMacros/grinder/GrinderRaces.java
@@ -62,7 +62,7 @@ public class GrinderRaces {
         }
         if (!changes)
             return "";
-        return CMLib.coffeeMaker().getPhyStatsStr(adjPStats);
+        return CMLib.aetherMaker().getPhyStatsStr(adjPStats);
     }
 
     public static String getCStats(char c, HTTPRequest httpReq) {
@@ -86,7 +86,7 @@ public class GrinderRaces {
         }
         if (!changes)
             return "";
-        return CMLib.coffeeMaker().getCharStatsStr(adjCStats);
+        return CMLib.aetherMaker().getCharStatsStr(adjCStats);
     }
 
     public static String getCState(char c, HTTPRequest httpReq) {
@@ -112,7 +112,7 @@ public class GrinderRaces {
         }
         if (!changes)
             return "";
-        return CMLib.coffeeMaker().getCharStateStr(adjCState);
+        return CMLib.aetherMaker().getCharStateStr(adjCState);
     }
 
     public static List<Item> itemList(List<? extends Item> items, char c, HTTPRequest httpReq, boolean one) {
diff --git a/src/main/java/com/syncleus/aethermud/game/application/MUD.java b/src/main/java/com/syncleus/aethermud/game/application/MUD.java
index 7a7192a973..f0a98c4b3c 100644
--- a/src/main/java/com/syncleus/aethermud/game/application/MUD.java
+++ b/src/main/java/com/syncleus/aethermud/game/application/MUD.java
@@ -560,7 +560,7 @@ public class MUD extends Thread implements MudHost {
             if (CMSecurity.isDebugging(DbgFlag.HTTPACCESS))
                 config.setAccessLogFlag(page.getStr("ACCMSGS"));
             final WebServer webServer = new WebServer(serverName + Thread.currentThread().getThreadGroup().getName().charAt(0), config);
-            config.setCoffeeWebServer(webServer);
+            config.setAetherWebServer(webServer);
             webServer.start();
             webServers.add(webServer);
             return true;
diff --git a/src/main/java/com/syncleus/aethermud/game/application/VFShell.java b/src/main/java/com/syncleus/aethermud/game/application/VFShell.java
index 256ff85c17..9eb72ad70c 100644
--- a/src/main/java/com/syncleus/aethermud/game/application/VFShell.java
+++ b/src/main/java/com/syncleus/aethermud/game/application/VFShell.java
@@ -20,6 +20,10 @@ import com.syncleus.aethermud.game.Commands.Shell;
 import com.syncleus.aethermud.game.Common.FakeSession;
 import com.syncleus.aethermud.game.Common.interfaces.PlayerAccount;
 import com.syncleus.aethermud.game.Common.interfaces.Session;
+import com.syncleus.aethermud.game.Libraries.AetherFilter;
+import com.syncleus.aethermud.game.Libraries.AetherMaker;
+import com.syncleus.aethermud.game.Libraries.AetherTime;
+import com.syncleus.aethermud.game.Libraries.AetherUtensils;
 import com.syncleus.aethermud.game.Libraries.interfaces.ColorLibrary.ColorState;
 import com.syncleus.aethermud.game.MOBS.StdMOB;
 import com.syncleus.aethermud.game.MOBS.interfaces.MOB;
@@ -144,20 +148,20 @@ public class VFShell {
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CMChannels());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CMColor());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CMMap());
-                CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CoffeeMaker());
+                CMLib.registerLibrary(new AetherMaker());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.MUDPercolator());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.EnglishParser());
-                CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CoffeeUtensils());
+                CMLib.registerLibrary(new AetherUtensils());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CMEncoder());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CMGenEditor());
-                CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CoffeeFilter());
+                CMLib.registerLibrary(new AetherFilter());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CMLister());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.Dice());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.DirtyLanguage());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.Sense());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.XMLManager());
                 CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.MUDZapper());
-                CMLib.registerLibrary(new com.syncleus.aethermud.game.Libraries.CoffeeTime());
+                CMLib.registerLibrary(new AetherTime());
                 CMClass.addClass(CMObjectType.COMMON, new com.syncleus.aethermud.game.Common.DefaultCharState());
                 CMClass.addClass(CMObjectType.COMMON, new com.syncleus.aethermud.game.Common.DefaultCharStats());
                 CMClass.addClass(CMObjectType.COMMON, new com.syncleus.aethermud.game.Common.DefaultPhyStats());
diff --git a/src/main/java/com/syncleus/aethermud/game/core/CMLib.java b/src/main/java/com/syncleus/aethermud/game/core/CMLib.java
index 4b5917a2d4..8dbcc595a2 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/CMLib.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/CMLib.java
@@ -263,7 +263,7 @@ public class CMLib {
      * @see com.syncleus.aethermud.game.Libraries.interfaces.MoneyLibrary
      * @return a reference to this threads money handling library.
      */
-    public static final MoneyLibrary beanCounter() {
+    public static final MoneyLibrary moneyCounter() {
         return (MoneyLibrary) l().libraries[Library.MONEY.ordinal()];
     }
 
@@ -272,7 +272,7 @@ public class CMLib {
      * @see com.syncleus.aethermud.game.Libraries.interfaces.ShoppingLibrary
      * @return a reference to this threads store front/shopping library.
      */
-    public static final ShoppingLibrary coffeeShops() {
+    public static final ShoppingLibrary aetherShops() {
         return (ShoppingLibrary) l().libraries[Library.SHOPS.ordinal()];
     }
 
@@ -389,7 +389,7 @@ public class CMLib {
      * @see com.syncleus.aethermud.game.Libraries.interfaces.TelnetFilter
      * @return a reference to this threads telnet input/output filtering library.
      */
-    public static final TelnetFilter coffeeFilter() {
+    public static final TelnetFilter aetherFilter() {
         return (TelnetFilter) l().libraries[Library.TELNET.ordinal()];
     }
 
@@ -398,7 +398,7 @@ public class CMLib {
      * @see com.syncleus.aethermud.game.Libraries.interfaces.GenericBuilder
      * @return a reference to this threads GenObject low level construction library.
      */
-    public static final GenericBuilder coffeeMaker() {
+    public static final GenericBuilder aetherMaker() {
         return (GenericBuilder) l().libraries[Library.OBJBUILDERS.ordinal()];
     }
 
@@ -452,7 +452,7 @@ public class CMLib {
      * @see com.syncleus.aethermud.game.Libraries.interfaces.StatisticsLibrary
      * @return a reference to this threads statistics library.
      */
-    public static final StatisticsLibrary coffeeTables() {
+    public static final StatisticsLibrary aetherTables() {
         return (StatisticsLibrary) l().libraries[Library.STATS.ordinal()];
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/core/database/DBInterface.java b/src/main/java/com/syncleus/aethermud/game/core/database/DBInterface.java
index 4206fe1ca8..c7a934d7fb 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/database/DBInterface.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/database/DBInterface.java
@@ -827,7 +827,7 @@ public class DBInterface implements DatabaseEngine {
     }
 
     @Override
-    public CoffeeTableRow DBReadStat(long startTime) {
+    public AetherTableRow DBReadStat(long startTime) {
         return StatLoader.DBRead(startTime);
     }
 
@@ -847,7 +847,7 @@ public class DBInterface implements DatabaseEngine {
     }
 
     @Override
-    public List<CoffeeTableRow> DBReadStats(long startTime, long endTime) {
+    public List<AetherTableRow> DBReadStats(long startTime, long endTime) {
         return StatLoader.DBReadAfter(startTime, endTime);
     }
 
diff --git a/src/main/java/com/syncleus/aethermud/game/core/database/MOBloader.java b/src/main/java/com/syncleus/aethermud/game/core/database/MOBloader.java
index 8731bdf8b7..5b76ad73f8 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/database/MOBloader.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/database/MOBloader.java
@@ -178,7 +178,7 @@ public class MOBloader {
                 R.close();
                 if (pstats.getSavedPose().length() > 0)
                     mob.setDisplayText(pstats.getSavedPose());
-                CMLib.coffeeMaker().setFactionFromXML(mob, CleanXML);
+                CMLib.aetherMaker().setFactionFromXML(mob, CleanXML);
                 if ((CMProps.isUsingAccountSystem()) && (pstats.getAccount() == null)) {
                     // yes, this can happen when you wiggle in and out of the account system.
                     for (final Enumeration<PlayerAccount> a = CMLib.players().accounts(); a.hasMoreElements(); ) {
@@ -346,7 +346,7 @@ public class MOBloader {
 
                             final String xml = DBConnections.getRes(R, "CMABTX");
                             if (xml.length() > 0)
-                                CMLib.coffeeMaker().setGenScripts(mob, CMLib.xml().parseAllXML(xml), true);
+                                CMLib.aetherMaker().setGenScripts(mob, CMLib.xml().parseAllXML(xml), true);
                         }
                     } else {
                         final Behavior newBehavior = CMClass.getBehavior(abilityID);
@@ -843,7 +843,7 @@ public class MOBloader {
             strOtherRoomID = strStartRoomID;
 
         final String playerStatsXML = getPlayerStatsXML(mob);
-        final String factionDataXML = CMLib.coffeeMaker().getFactionXML(mob).toString();
+        final String factionDataXML = CMLib.aetherMaker().getFactionXML(mob).toString();
         DB.updateWithClobs(
             "UPDATE CMCHAR SET  CMPASS='" + pstats.getPasswordStr() + "'"
                 + ", CMCHID='" + mob.ID() + "'"
@@ -1228,7 +1228,7 @@ public class MOBloader {
                 statements.add(new DBPreparedBatchEntry(sql, B.getParms()));
             }
         }
-        final String scriptStuff = CMLib.coffeeMaker().getGenScripts(mob, true);
+        final String scriptStuff = CMLib.aetherMaker().getGenScripts(mob, true);
         if (scriptStuff.length() > 0) {
             final String sql = "INSERT INTO CMCHAB (CMUSERID, CMABID, CMABPF,CMABTX"
                 + ") values ('" + mob.Name() + "','ScriptingEngine'," + (Integer.MIN_VALUE + 1) + ",?"
diff --git a/src/main/java/com/syncleus/aethermud/game/core/database/StatLoader.java b/src/main/java/com/syncleus/aethermud/game/core/database/StatLoader.java
index c5bbf4bbfb..0775e70d6a 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/database/StatLoader.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/database/StatLoader.java
@@ -16,7 +16,7 @@
  */
 package com.syncleus.aethermud.game.core.database;
 
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeTableRow;
+import com.syncleus.aethermud.game.Common.interfaces.AetherTableRow;
 import com.syncleus.aethermud.game.core.CMClass;
 import com.syncleus.aethermud.game.core.CMLib;
 import com.syncleus.aethermud.game.core.CMSecurity;
@@ -34,16 +34,16 @@ public class StatLoader {
         DB = newDB;
     }
 
-    public CoffeeTableRow DBRead(long startTime) {
+    public AetherTableRow DBRead(long startTime) {
         if (Log.debugChannelOn() && (CMSecurity.isDebugging(CMSecurity.DbgFlag.CMSTAT)))
             Log.debugOut("StatLoader", "Reading content of Stat  " + CMLib.time().date2String(startTime));
         DBConnection D = null;
-        CoffeeTableRow T = null;
+        AetherTableRow T = null;
         try {
             D = DB.DBFetch();
             final ResultSet R = D.query("SELECT * FROM CMSTAT WHERE CMSTRT=" + startTime);
             if (R.next()) {
-                T = (CoffeeTableRow) CMClass.getCommon("DefaultCoffeeTableRow");
+                T = (AetherTableRow) CMClass.getCommon("DefaultAetherTableRow");
                 final long endTime = DBConnections.getLongRes(R, "CMENDT");
                 final String data = DBConnections.getRes(R, "CMDATA");
                 T.populate(startTime, endTime, data);
@@ -57,18 +57,18 @@ public class StatLoader {
         return T;
     }
 
-    public List<CoffeeTableRow> DBReadAfter(long startTime, long endTime) {
+    public List<AetherTableRow> DBReadAfter(long startTime, long endTime) {
         if (Log.debugChannelOn() && (CMSecurity.isDebugging(CMSecurity.DbgFlag.CMSTAT)))
             Log.debugOut("StatLoader", "Reading content of Stats since " + CMLib.time().date2String(startTime));
         DBConnection D = null;
-        CoffeeTableRow T = null;
-        final List<CoffeeTableRow> rows = new Vector<CoffeeTableRow>();
+        AetherTableRow T = null;
+        final List<AetherTableRow> rows = new Vector<AetherTableRow>();
         try {
             D = DB.DBFetch();
             final ResultSet R = D.query("SELECT * FROM CMSTAT WHERE CMSTRT>" + startTime);
             try {
                 while (R.next()) {
-                    T = (CoffeeTableRow) CMClass.getCommon("DefaultCoffeeTableRow");
+                    T = (AetherTableRow) CMClass.getCommon("DefaultAetherTableRow");
                     final long strTime = DBConnections.getLongRes(R, "CMSTRT");
                     final long enTime = DBConnections.getLongRes(R, "CMENDT");
                     if ((endTime != 0)
diff --git a/src/main/java/com/syncleus/aethermud/game/core/interfaces/ShopKeeper.java b/src/main/java/com/syncleus/aethermud/game/core/interfaces/ShopKeeper.java
index cc1631dfb0..cb6b9063d9 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/interfaces/ShopKeeper.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/interfaces/ShopKeeper.java
@@ -16,7 +16,7 @@
  */
 package com.syncleus.aethermud.game.core.interfaces;
 
-import com.syncleus.aethermud.game.Common.interfaces.CoffeeShop;
+import com.syncleus.aethermud.game.Common.interfaces.AetherShop;
 
 
 /**
@@ -110,11 +110,11 @@ public interface ShopKeeper extends Environmental, Economics {
         };
 
     /**
-     * the CoffeeShop method to access the shopkeepers store of goods
-     * @see com.syncleus.aethermud.game.Common.interfaces.CoffeeShop
-     * @return the CoffeeShop object
+     * the AetherShop method to access the shopkeepers store of goods
+     * @see AetherShop
+     * @return the AetherShop object
      */
-    public CoffeeShop getShop();
+    public AetherShop getShop();
 
     /**
      * Returns the ShopKeeper DEAL_* mask describing what is sold or bought by this ShopKeeper
diff --git a/src/main/java/com/syncleus/aethermud/game/core/intermud/IMudClient.java b/src/main/java/com/syncleus/aethermud/game/core/intermud/IMudClient.java
index bbc2aed056..0d0b1e86f8 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/intermud/IMudClient.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/intermud/IMudClient.java
@@ -456,9 +456,9 @@ public class IMudClient implements I3Interface {
                     }
 
                     if ((msg.othersMessage() != null) && (msg.othersMessage().length() > 0))
-                        message = CMLib.coffeeFilter().fullOutFilter(null, CMClass.sampleMOB(), mob2, msg.target(), null, CMStrings.removeColors(msg.othersMessage()), false);
+                        message = CMLib.aetherFilter().fullOutFilter(null, CMClass.sampleMOB(), mob2, msg.target(), null, CMStrings.removeColors(msg.othersMessage()), false);
                     else
-                        message = CMLib.coffeeFilter().fullOutFilter(null, CMClass.sampleMOB(), mob2, msg.target(), null, CMStrings.removeColors(msg.sourceMessage()), false);
+                        message = CMLib.aetherFilter().fullOutFilter(null, CMClass.sampleMOB(), mob2, msg.target(), null, CMStrings.removeColors(msg.sourceMessage()), false);
                     if (message.toUpperCase().startsWith((mob.Name() + "@" + imc2.imc_name).toUpperCase()))
                         message = message.substring((mob.Name() + "@" + imc2.imc_name).length()).trim();
                     emote = 2;
diff --git a/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/GetStat.java b/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/GetStat.java
index 4e567b4a83..15b91ff8b1 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/GetStat.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/GetStat.java
@@ -373,9 +373,9 @@ public class GetStat extends CM1Command {
                 for (final String code : codes) {
                     if (code.equalsIgnoreCase(stat)) {
                         if (P instanceof MOB)
-                            req.sendMsg("[OK " + CMLib.coffeeMaker().getGenMobStat((MOB) P, stat) + "]");
+                            req.sendMsg("[OK " + CMLib.aetherMaker().getGenMobStat((MOB) P, stat) + "]");
                         else if (P instanceof Item)
-                            req.sendMsg("[OK " + CMLib.coffeeMaker().getGenItemStat((Item) P, stat) + "]");
+                            req.sendMsg("[OK " + CMLib.aetherMaker().getGenItemStat((Item) P, stat) + "]");
                     }
                 }
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/Listen.java b/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/Listen.java
index 89c4faab52..5d37581e11 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/Listen.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/Listen.java
@@ -364,7 +364,7 @@ public class Listen extends CM1Command {
         public String messageToString(final CMMsg msg) {
             switch (crits[0].statType) {
                 case CHANNEL:
-                    return CMLib.coffeeFilter().fullOutFilter(null, CMLib.map().deity(), msg.source(), msg.target(), msg.tool(), msg.othersMessage(), false);
+                    return CMLib.aetherFilter().fullOutFilter(null, CMLib.map().deity(), msg.source(), msg.target(), msg.tool(), msg.othersMessage(), false);
                 case LOGINS:
                     if (msg.othersMinor() == CMMsg.TYP_LOGIN)
                         return "LOGIN " + msg.source().Name();
@@ -385,7 +385,7 @@ public class Listen extends CM1Command {
                         cmd.append("NULL ");
                     cmd.append(minorDesc(msg.othersMinor())).append(' ');
                     cmd.append(Integer.toString(msg.value())).append(' ');
-                    cmd.append(CMStrings.removeColors(CMLib.coffeeFilter().fullOutFilter(null, CMLib.map().deity(), msg.source(), msg.target(), msg.tool(), msg.othersMessage(), false)));
+                    cmd.append(CMStrings.removeColors(CMLib.aetherFilter().fullOutFilter(null, CMLib.map().deity(), msg.source(), msg.target(), msg.tool(), msg.othersMessage(), false)));
                     return cmd.toString();
                 }
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/SetStat.java b/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/SetStat.java
index d53b2d93b7..0e366c680e 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/SetStat.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/intermud/cm1/commands/SetStat.java
@@ -308,9 +308,9 @@ public class SetStat extends GetStat {
                 for (final String code : codes) {
                     if (code.equalsIgnoreCase(stat)) {
                         if (P instanceof MOB)
-                            CMLib.coffeeMaker().setGenMobStat((MOB) P, stat, value);
+                            CMLib.aetherMaker().setGenMobStat((MOB) P, stat, value);
                         else if (P instanceof Item)
-                            CMLib.coffeeMaker().setGenItemStat((Item) P, stat, value);
+                            CMLib.aetherMaker().setGenItemStat((Item) P, stat, value);
                     }
                 }
             }
diff --git a/src/main/java/com/syncleus/aethermud/game/core/smtp/MassMailer.java b/src/main/java/com/syncleus/aethermud/game/core/smtp/MassMailer.java
index 3665f3d7bb..78de4b0e71 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/smtp/MassMailer.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/smtp/MassMailer.java
@@ -189,7 +189,7 @@ public class MassMailer implements Runnable {
                     toEmail,
                     usePrivateRules ? toEmail : replyTo + "@" + domainName(),
                     subj,
-                    CMLib.coffeeFilter().simpleOutFilter(msg));
+                    CMLib.aetherFilter().simpleOutFilter(msg));
                 //this email is HISTORY!
                 CMLib.database().DBDeleteJournal(journalName, key);
             } catch (final java.io.IOException ioe) {
diff --git a/src/main/java/com/syncleus/aethermud/game/core/smtp/ProcessSMTPrequest.java b/src/main/java/com/syncleus/aethermud/game/core/smtp/ProcessSMTPrequest.java
index e28f7d772b..cda9e87fe5 100644
--- a/src/main/java/com/syncleus/aethermud/game/core/smtp/ProcessSMTPrequest.java
+++ b/src/main/java/com/syncleus/aethermud/game/core/smtp/ProcessSMTPrequest.java
@@ -431,8 +431,8 @@ public class ProcessSMTPrequest implements Runnable {
                                             if (bodyType == 'h')
                                                 cleanHtml(journal, finalFinalData);
                                             CMLib.database().DBWriteJournalChild(journal, "", from, "ALL", parentKey,
-                                                CMLib.coffeeFilter().simpleInFilter(new StringBuilder(subject)).toString(),
-                                                CMLib.coffeeFilter().simpleInFilter(finalData).toString());
+                                                CMLib.aetherFilter().simpleInFilter(new StringBuilder(subject)).toString(),
+                                                CMLib.aetherFilter().simpleInFilter(finalData).toString());
                                         } else if (finalData.toString().trim().length() > 0) {
                                             if (debug)
                                                 Log.debugOut(runnableName, "Written: " + server.mailboxName() + "/" + from + "/" + to.elementAt(i) + "/" + bodyType);
@@ -442,8 +442,8 @@ public class ProcessSMTPrequest implements Runnable {
                                             CMLib.database().DBWriteJournal(server.mailboxName(),
                                                 from,
                                                 to.elementAt(i),
-                                                CMLib.coffeeFilter().simpleInFilter(new StringBuilder(subject)).toString(),
-                                                CMLib.coffeeFilter().simpleInFilter(finalFinalData).toString());
+                                                CMLib.aetherFilter().simpleInFilter(new StringBuilder(subject)).toString(),
+                                                CMLib.aetherFilter().simpleInFilter(finalFinalData).toString());
                                         }
                                     }
                                 }
diff --git a/src/main/java/com/syncleus/aethermud/web/interfaces/HTTPIOHandler.java b/src/main/java/com/syncleus/aethermud/web/interfaces/HTTPIOHandler.java
index 24450a4875..65b96ce0f4 100644
--- a/src/main/java/com/syncleus/aethermud/web/interfaces/HTTPIOHandler.java
+++ b/src/main/java/com/syncleus/aethermud/web/interfaces/HTTPIOHandler.java
@@ -38,7 +38,7 @@ import java.text.SimpleDateFormat;
  */
 public interface HTTPIOHandler extends Runnable {
     public static final String EOLN = "\r\n";            // standard EOLN for http protocol
-    public static final String SERVER_HEADER = HTTPHeader.Common.SERVER.makeLine("CoffeeWebServer/" + WebServer.VERSION);
+    public static final String SERVER_HEADER = HTTPHeader.Common.SERVER.makeLine("AetherWebServer/" + WebServer.VERSION);
     public static final String CONN_HEADER = HTTPHeader.Common.CONNECTION.makeLine("Keep-Alive");
     public static final String RANGE_HEADER = HTTPHeader.Common.ACCEPT_RANGES.makeLine("bytes");
     public static final DateFormat DATE_FORMAT = new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss zzz");
diff --git a/src/main/java/com/syncleus/aethermud/web/server/WebServer.java b/src/main/java/com/syncleus/aethermud/web/server/WebServer.java
index 8cc7d7620c..52e5649b4d 100644
--- a/src/main/java/com/syncleus/aethermud/web/server/WebServer.java
+++ b/src/main/java/com/syncleus/aethermud/web/server/WebServer.java
@@ -38,7 +38,7 @@ import java.util.logging.Level;
 
 
 /**
- * Both the main() kickoff for the coffeewebserver AND the main thread class for the same.
+ * Both the main() kickoff for the aetherwebserver AND the main thread class for the same.
  * This class handles all the socket listening and request management/timeout.
  * When requests are received, they are passed off to an HTTPReader for processing,
  * though a separate thread may timeout those readers at its discretion and shut
@@ -47,7 +47,7 @@ import java.util.logging.Level;
  *
  */
 public class WebServer extends Thread {
-    public static final String NAME = "CoffeeWebServer";
+    public static final String NAME = "AetherWebServer";
     public static final String POMVERSION = "2.4";
     public static double VERSION;
 
@@ -150,7 +150,7 @@ public class WebServer extends Thread {
 
         Log.instance().configureLogFile("web", 2);
         String debug = "OFF";
-        String iniFilename = "coffeeweb.ini";
+        String iniFilename = "aetherweb.ini";
         for (final String arg : args) {
             if (arg.startsWith("BOOT="))
                 iniFilename = arg.substring(5);
@@ -181,7 +181,7 @@ public class WebServer extends Thread {
         config.getLogger().info("Starting " + NAME + " " + VERSION);
 
         final WebServer server = new WebServer("server", config);
-        config.setCoffeeWebServer(server);
+        config.setAetherWebServer(server);
         final Thread t = new CWThread(config, server, NAME);
         t.start();
         try {
diff --git a/src/main/java/com/syncleus/aethermud/web/util/CWConfig.java b/src/main/java/com/syncleus/aethermud/web/util/CWConfig.java
index afdb321ada..f3b74a2c7c 100644
--- a/src/main/java/com/syncleus/aethermud/web/util/CWConfig.java
+++ b/src/main/java/com/syncleus/aethermud/web/util/CWConfig.java
@@ -31,7 +31,7 @@ import java.util.logging.Logger;
 
 
 /**
- * Configuration for coffeewebserver
+ * Configuration for aetherwebserver
  * @author Bo Zimmerman
  *
  */
@@ -83,7 +83,7 @@ public class CWConfig implements Cloneable {
     private FileCacheManager fileCache = null;
     private Logger logger = null;
     private HTTPFileGetter fileGetter = null;
-    private WebServer coffeeWebServer = null;
+    private WebServer aetherWebServer = null;
     private FileManager fileManager = new CWFileManager();
 
     private String sslKeystorePath = null;
@@ -292,17 +292,17 @@ public class CWConfig implements Cloneable {
     }
 
     /**
-     * @return the coffeeWebServer
+     * @return the aetherWebServer
      */
-    public WebServer getCoffeeWebServer() {
-        return coffeeWebServer;
+    public WebServer getAetherWebServer() {
+        return aetherWebServer;
     }
 
     /**
-     * @param coffeeWebServer the coffeeWebServer to set
+     * @param aetherWebServer the aetherWebServer to set
      */
-    public void setCoffeeWebServer(WebServer coffeeWebServer) {
-        this.coffeeWebServer = coffeeWebServer;
+    public void setAetherWebServer(WebServer aetherWebServer) {
+        this.aetherWebServer = aetherWebServer;
     }
 
     /**
@@ -1057,7 +1057,7 @@ public class CWConfig implements Cloneable {
 
     /**
      * Returns one of the named properties, even ones that don't
-     * mean anything to coffeewebserver per se.
+     * mean anything to aetherwebserver per se.
      * @param propName the name of the property
      * @return the value of the property, or null if not found
      */
@@ -1250,7 +1250,7 @@ public class CWConfig implements Cloneable {
                 try {
                     disableFlags.add(DisableFlag.valueOf(disable));
                 } catch (final Exception e) {
-                    getLogger().severe("Unknown DISABLE flag in coffeeweb.ini: " + disable);
+                    getLogger().severe("Unknown DISABLE flag in aetherweb.ini: " + disable);
                 }
             }
 
diff --git a/web/admin/coffeemud.ico b/web/admin/aethermud.ico
similarity index 100%
rename from web/admin/coffeemud.ico
rename to web/admin/aethermud.ico
diff --git a/web/admin/grinder/stats.cmvp b/web/admin/grinder/stats.cmvp
index de0c1889e0..6214ab17c4 100644
--- a/web/admin/grinder/stats.cmvp
+++ b/web/admin/grinder/stats.cmvp
@@ -404,25 +404,25 @@
 	</TR>
 		@if?CheckReqParm?SKILLRPT=SKILLRPT@
 			@if?CheckReqParm?GROUPSKILLSBY=NAME@
-				@CoffeeTableRows?HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 			@endif@
 			@if?CheckReqParm?GROUPSKILLSBY=TYPE@
 				<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>Skills</B></FONT></TD></TR>
-				@CoffeeTableRows?ABLETYPE=SKILL&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?ABLETYPE=SKILL&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 				<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>Spells</B></FONT></TD></TR>
-				@CoffeeTableRows?ABLETYPE=SPELL&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?ABLETYPE=SPELL&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 				<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>Prayers</B></FONT></TD></TR>
-				@CoffeeTableRows?ABLETYPE=PRAYER&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?ABLETYPE=PRAYER&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 				<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>Songs</B></FONT></TD></TR>
-				@CoffeeTableRows?ABLETYPE=SONG&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?ABLETYPE=SONG&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 				<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>Thief Skills</B></FONT></TD></TR>
-				@CoffeeTableRows?ABLETYPE=THIEF SKILL&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?ABLETYPE=THIEF SKILL&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 				<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>Chants</B></FONT></TD></TR>
-				@CoffeeTableRows?ABLETYPE=CHANT&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?ABLETYPE=CHANT&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 				<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>Common Skills</B></FONT></TD></TR>
-				@CoffeeTableRows?ABLETYPE=COMMON SKILL&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?ABLETYPE=COMMON SKILL&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 				<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>Languages</B></FONT></TD></TR>
-				@CoffeeTableRows?ABLETYPE=LANGUAGE&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+				@AetherTableRows?ABLETYPE=LANGUAGE&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 			@endif@
 			@if?CheckReqParm?GROUPSKILLSBY=DOMAIN@
 				@AbilityDomainNext?reset@ 
@@ -430,15 +430,15 @@
 					@AbilityDomainNext@
 					@if?CheckReqParm?DOMAIN=NOTHING@ @else@
 						<TR><TD WIDTH=100% COLSPAN=15 ALIGN=CENTER><FONT COLOR=WHITE><B>@RequestParameter?DOMAIN@</B></FONT></TD></TR>
-						@CoffeeTableRows?ABLEDOMAIN=@@RequestParameter?DOMAIN@@&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
+						@AetherTableRows?ABLEDOMAIN=@@RequestParameter?DOMAIN@@&HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&COLSPAN=1&NEXTSKILLID&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE&COLSPAN=3&NEXTSKILLID&COLSPAN=1&SKILLUSE@
 					@endif@
 				@back@
 			@endif@
 		@else@
 			@if?CheckReqParm?QUESTRPT=QUESTRPT@
-				@CoffeeTableRows?HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&QUESTNAME&STARTATTEMPT&TIMESTART&FAILEDSTART&ACCEPTED&SUCCESS&FAILED&DROPPED&TIMESTOP&STOP@
+				@AetherTableRows?HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&QUESTNAME&STARTATTEMPT&TIMESTART&FAILEDSTART&ACCEPTED&SUCCESS&FAILED&DROPPED&TIMESTOP&STOP@
 			@else@
-				@CoffeeTableRows?HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&DATERANGE&NEWPLAYERS&LOGINS&TOTALHOURS&AVERAGETICKS&AVERAGEONLINE&MOSTONLINE&DEATHS&PKDEATHS&LEVELSUP&CLASSCHANGES&PURGES&MARRIAGES&BIRTHS&DIVORCES@
+				@AetherTableRows?HEADER=<FONT COLOR=WHITE SIZE=-1>&FOOTER=</FONT>&DATERANGE&NEWPLAYERS&LOGINS&TOTALHOURS&AVERAGETICKS&AVERAGEONLINE&MOSTONLINE&DEATHS&PKDEATHS&LEVELSUP&CLASSCHANGES&PURGES&MARRIAGES&BIRTHS&DIVORCES@
 			@endif@
 		@endif@
 	</TABLE>
diff --git a/web/common.ini b/web/common.ini
index 58bd851214..b8effcbdf5 100644
--- a/web/common.ini
+++ b/web/common.ini
@@ -105,7 +105,7 @@ DEFAULTPAGE=index.cmvp
 # *** Handled by pub.ini and admin.ini ***
 
 # MIME TYPES
-# CoffeeWebServer already defines all the standard and most common mime types.  However, if you
+# AetherWebServer already defines all the standard and most common mime types.  However, if you
 # require any special ones, or for some bizarre reason want to override an existing one, this
 # is the place.  Specify the word MIME followed by a period character . and the extension to
 # use with this mime type, then set that equal to the full mime type string, which must include
@@ -115,7 +115,7 @@ DEFAULTPAGE=index.cmvp
 
 #
 # SSL CONFIGURATION
-# CoffeeWebServer supports SSLv3 via a java keystore file (SSLKEYSTOREPATH), but you can 
+# AetherWebServer supports SSLv3 via a java keystore file (SSLKEYSTOREPATH), but you can
 # specify any key file format that java supports, so long as you also specify its type
 # (SSLKEYSTORETYPE).  If the keystore/file has a password, specify it also (SSLKEYSTOREPASSWORD).
 # If any of this stuff is invalid, the web server will not attempt to listen on your SSL ports.
@@ -162,7 +162,7 @@ REQUESTMAXPERCONN=20
 # the word FORWARD followed by a forward slash character / and the optional host name 
 # and optional port and the context (or just /), and then set that equal to 
 # the host name of the remote web server, followed by a colon and the remote port number.
-# You can specify as many mappings as you like .. coffeewebserver will be pretty smart about
+# You can specify as many mappings as you like .. aetherwebserver will be pretty smart about
 # which is the proper one to use for any particular url.
 # Remember to escape your colons and backslashes (if you use them)!!
 # Some examples:
diff --git a/web/pub/coffeemud.css b/web/pub/aethermud.css
similarity index 100%
rename from web/pub/coffeemud.css
rename to web/pub/aethermud.css
diff --git a/web/pub/coffeemud.ico b/web/pub/aethermud.ico
similarity index 100%
rename from web/pub/coffeemud.ico
rename to web/pub/aethermud.ico
diff --git a/web/pub/images/coffeemud.ico b/web/pub/images/aethermud.ico
similarity index 100%
rename from web/pub/images/coffeemud.ico
rename to web/pub/images/aethermud.ico
-- 
GitLab