divided into several classes, can make