Если нужно можно подстроить эту подачу под свою задачу. Коротко: Kraken ссылка. Следом идёт структурированный разбор.