https://trymata.com/blog/4-key-prototyping-methods/