Splited code into different modules