updated class-diagram to an almost complete version