независимые части выделены в библиотеки
добавлена расшифровка кодов ошибок