Implementation of this class following the tutorial.