Implemented all classes according to the provided ClassDiagrams