Main -- splitted to header and cpp file.