added the gem.cs file to try and break this down
into soom oop type business.