это можно переписать проще, подумай как ;)