New design, improved API, classes