Finished conversion to class based