Угу, понял.
Основные моменты уже набросал, скоро приведу в читабельный вид))))