Add fixes to partial and refactoring

Исправил оишбки.
все равно я не понимаю что тут делается - метод гигант - нужно зарефаторить