add extensions feature, add __super__