basic test structure and Error classes