add classmethod and create done() method