Slightly changed class structure