Add Some Class
Merge with modification from laptop