classmethod and staticmethod answer from SO