правка кода

много исправлений, не оттестированно