Незаконченный рефакторинг, код не рабочий.