https://designtechworld.medium.com/what-is-the-difference-between-null-and-undefined-in-javascript-fa8ad03938a3