https://silkmeridiantraining.com/courses/plc-programming-best-practices-el05-b