Adjusted class architecture