Added Class-based structure