resolve #7
Сделал я это конечно не очень понятным способом... но вроде оно работает и вроде исправно...