Немного подчистил код