Куча херни, которую надо покрыть интеграционными тестами и переписать
merge