Revised class structure