unnecessary intermediate class removed