changed self in classmethods to cls