Adjusted factory class