Adding class diagram and updating spec