https://cscprogrammingtutorials.com/understanding-cnc-history-and-coding/