Should this be a classmethod?