S4 is a more formal counterpart to S3, particularly in that it has formal class definitions so it can't be used ad hoc but it does work in quite a similar way to S3, so what we've learned already will be generally applicable. In this recipe, we'll quickly run through how to create a class similar to our SimpleGenome object in the first two recipes of this chapter, with the S4 system. Knowing S4 will be advantageous if you wish to write code to extend Bioconductor, as that is written in S4.