added class diagram and final touch