reviewed existing class structures