Added changes by Numbers11 and 0x92. Thx