добавил конструкторы, а также мелкие правки кода