tip: python @classmethod vs. @staticmethod