Incorporated Esin's updates.