Should use `self`, not `cls`