Code fully commented, add style switcher