Оптимизирован код и исправлены некоторые баги.