diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4be1bda5ff62de14be5e0667e4bd6fd2d3160bf9..5bc00aad76fa162d463c175d2306f86d6a89a92c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,7 @@ project(eisnoise C CXX)
 
 find_package(PkgConfig REQUIRED)
 pkg_search_module(EIS REQUIRED libeisgenerator)
+pkg_search_module(TYPE REQUIRED libkisstype)
 find_package(sciplot)
 
 set(API_HEADERS_CPP_DIR eisnoise/)
@@ -22,9 +23,9 @@ set(COMMON_COMPILE_OPTIONS
 	"-fno-strict-aliasing")
 
 add_library(${PROJECT_NAME} SHARED eisnoise.cpp microtar.c)
-target_link_libraries( ${PROJECT_NAME} -lpthread ${EIS_LIBRARIES} -ltbb)
+target_link_libraries( ${PROJECT_NAME} -lpthread ${EIS_LIBRARIES} ${TYPE_LIBRARIES} -ltbb)
 target_sources(${PROJECT_NAME} INTERFACE FILE_SET header_set TYPE HEADERS BASE_DIRS ${API_HEADERS_CPP_DIR} FILES ${API_HEADERS_CPP})
-target_include_directories(${PROJECT_NAME} PRIVATE ${EIS_INCLUDE_DIRS})
+target_include_directories(${PROJECT_NAME} PRIVATE ${EIS_INCLUDE_DIRS} ${TYPE_INCLUDE_DIRS})
 target_compile_definitions(${PROJECT_NAME} PUBLIC DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
 target_compile_options(${PROJECT_NAME} PRIVATE ${COMMON_COMPILE_OPTIONS})
 configure_file(pkgconfig/libeisnoise.in pkgconfig/libeisnoise.pc @ONLY)
@@ -38,8 +39,8 @@ else()
 	link_directories(${CMAKE_CURRENT_BINARY_DIR})
 	add_executable(${PROJECT_NAME}_test main.cpp)
 	add_dependencies(${PROJECT_NAME}_test ${PROJECT_NAME})
-	target_link_libraries( ${PROJECT_NAME}_test -lpthread ${EIS_LIBRARIES} -l${PROJECT_NAME} -ltbb ${SCIPLOT_LIBRARIES})
-	target_include_directories(${PROJECT_NAME}_test PRIVATE ${EIS_INCLUDE_DIRS} ${SCIPLOT_INCLUDE_DIRECTORYS})
+	target_link_libraries( ${PROJECT_NAME}_test -lpthread ${EIS_LIBRARIES} -l${PROJECT_NAME} -ltbb ${SCIPLOT_LIBRARIES} ${TYPE_LIBRARIES})
+	target_include_directories(${PROJECT_NAME}_test PRIVATE ${EIS_INCLUDE_DIRS} ${SCIPLOT_INCLUDE_DIRECTORYS} ${TYPE_INCLUDE_DIRS})
 	target_compile_options(${PROJECT_NAME}_test PRIVATE ${COMMON_COMPILE_OPTIONS})
 endif()
 
diff --git a/dataassembler/CMakeLists.txt b/dataassembler/CMakeLists.txt
index dfb5c1a926d123f20fe2a3f8e452cf6ca3152a7d..b26823dba566d67d46edd443e2e7529f1ebeae66 100644
--- a/dataassembler/CMakeLists.txt
+++ b/dataassembler/CMakeLists.txt
@@ -9,10 +9,11 @@ set(SRC_FILES
 
 find_package(PkgConfig REQUIRED)
 pkg_search_module(EIS REQUIRED libeisgenerator)
+pkg_search_module(TYPE REQUIRED libkisstype)
 
 add_executable(${NAME} ${SRC_FILES})
-target_link_libraries( ${NAME} ${RLX_LIBRARIES} -lpthread ${EIS_LIBRARIES} -ltbb)
-target_include_directories(${NAME} PRIVATE ${RLX_INCLUDE_DIRS} ${EIS_INCLUDE_DIRS})
+target_link_libraries( ${NAME} ${RLX_LIBRARIES} -lpthread ${EIS_LIBRARIES} ${TYPE_LIBRARIES} -ltbb)
+target_include_directories(${NAME} PRIVATE ${RLX_INCLUDE_DIRS} ${EIS_INCLUDE_DIRS} ${TYPE_INCLUDE_DIRS})
 target_compile_options(${NAME} PRIVATE
 	"-Wall"
 	"-Wno-reorder"
diff --git a/dataassembler/main.cpp b/dataassembler/main.cpp
index 29f24573cec3f968bfdd5e50eed52502f2b791e3..b999609068e868c6bb15df1496f5a1a5195d4955 100644
--- a/dataassembler/main.cpp
+++ b/dataassembler/main.cpp
@@ -6,8 +6,8 @@
 #include <execution>
 #include <mutex>
 #include <sstream>
+#include <kisstype/spectra.h>
 
-#include "eistype.h"
 #include "microtar.h"
 
 bool isCsv(const std::filesystem::path& path)
@@ -46,9 +46,9 @@ public:
 	}
 };
 
-eis::EisSpectra loadAndDiffFile(const std::filesystem::path& path)
+eis::Spectra loadAndDiffFile(const std::filesystem::path& path)
 {
-	eis::EisSpectra spectra = eis::EisSpectra::loadFromDisk(path);
+	eis::Spectra spectra = eis::Spectra::loadFromDisk(path);
 	spectra.header = "";
 
 	std::sort(spectra.data.begin(), spectra.data.end());
@@ -90,7 +90,7 @@ int main(int argc, char** argv)
 	}
 
 	std::vector<std::filesystem::path> files = getFilesInDirectories(argv[1], &isCsv);
-	std::vector<eis::EisSpectra> spectras;
+	std::vector<eis::Spectra> spectras;
 	spectras.reserve(files.size());
 	std::mutex spectrasMutex;
 
@@ -98,7 +98,7 @@ int main(int argc, char** argv)
 	{
 		try
 		{
-			eis::EisSpectra spectra = loadAndDiffFile(path);
+			eis::Spectra spectra = loadAndDiffFile(path);
 			spectrasMutex.lock();
 			std::cout<<"Loaded "<<path<<'\n';
 			spectras.push_back(spectra);
diff --git a/eisnoise.cpp b/eisnoise.cpp
index 2a295c8ae92cc8ac995d1689f95da66c45342955..62e96182383f8aab0a4a55c6772192293b59c92a 100644
--- a/eisnoise.cpp
+++ b/eisnoise.cpp
@@ -10,7 +10,7 @@
 #define INCBIN_PREFIX r
 #include "incbin.h"
 #include "microtar.h"
-#include <eisgenerator/eistype.h>
+#include <kisstype/type.h>
 #include <eisgenerator/basicmath.h>
 
 INCBIN(Tar, DATA_DIR "/data.tar");
@@ -137,7 +137,7 @@ EisNoise::EisNoise(fvalue maxIntensity)
 		mtar_read_data(&tar, buff, h.size);
 		std::istringstream ss(std::string(buff, h.size));
 		Noise noise;
-		noise.spectra = eis::EisSpectra::loadFromStream(ss);
+		noise.spectra = eis::Spectra::loadFromStream(ss);
 		noise.name = h.name;
 		noise.omegaMax = noise.spectra.data.back().omega;
 		noise.omegaMin = noise.spectra.data.front().omega;
diff --git a/eisnoise/eisnoise.h b/eisnoise/eisnoise.h
index 63106993e5f1544d4fe6798037aacf8677000da0..022959553af56183761f6f3c8f66b07b363601d0 100644
--- a/eisnoise/eisnoise.h
+++ b/eisnoise/eisnoise.h
@@ -1,6 +1,7 @@
 #pragma once
 
-#include <eisgenerator/eistype.h>
+#include <kisstype/type.h>
+#include <kisstype/spectra.h>
 #include <vector>
 #include <exception>
 #include <string>
@@ -14,7 +15,7 @@ private:
 		std::string name;
 		fvalue omegaMax;
 		fvalue omegaMin;
-		eis::EisSpectra spectra;
+		eis::Spectra spectra;
 	};
 	std::vector<Noise> noises;
 
diff --git a/main.cpp b/main.cpp
index 443a14287db761ce56ee302faa1f4afff004ff70..e3f6b1309754a8301bfa03fee3e2574f0feb8970 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,5 +1,4 @@
 #include "eisnoise/eisnoise.h"
-#include "eistype.h"
 #include "log.h"
 #include <eisgenerator/model.h>
 #include <iostream>
@@ -77,7 +76,7 @@ int main(int argc, char** argv)
 
 		plot.drawCurve(arrays.first, arrays.second);
 
-		eis::EisSpectra(data, model.getModelStrWithParam(index), "").saveToStream(std::cout);
+		eis::Spectra(data, model.getModelStrWithParam(index), "").saveToStream(std::cout);
 		std::cout<<eis::nonConstantScore(data)<<'\n';
 
 	}