the first version of the class