simplified class structure