override self by cls