adding base for 2d subsystem and also made some modifications on base/primitives