First version of the classes