Решение давно найдено.
Я выкладывал ссылку.