define classes + tests