Фух. Всё. Поборол лень и сделал более или менее по-нормальному.