Чуть грубовато, но по сути верно (проверено на себе)