https://www.spooky2.fr/how-to-create-a-program/