Split the header and source file into files based on their implementations such as low level terminal handling, movement etc...