Added the General base class, array support