All classes are implemented in a first step