есть статья в АЗ - Есть решение! Что в голове?
кто разбирается на уровне "могу повторить" - ифны более чем достаточно