Class Design doc