add ruby version singleton pattern