Не со всем в посте я согласен, поэтому чуть позже выложу свою скорректированную версию :)