Disclaimer: I'm an engineer, not a programmer.