Created an abstract protocol class