Кирилл Смирнов also answered this question with: "блин это сложно"