renaming core to base, and inheriting from base/base.h