Credits go to Vincent and  Oliver for some classes.