https://towardsdev.com/the-software-engineers-interview-handbook-part-7-javascript-object-oriented-programming-ii-c98073107349