I wanted to have the main method as high as possible in the file, the auxiliary methods below it, to reduce the noise.