Source: https://web.csulb.edu/~pnguyen/cecs282/lecnotes/Overloading.pdf