спрячу под кат, что-то длинно получилось