разделил код на view и logic