https://medium.com/analytics-vidhya/c-stories-optimizing-return-value-for-your-functions-a49dbf6ddee5