https://medium.com/techtofreedom/method-chaining-in-python-a-technique-for-elegant-coding-de44ab7fe249