removed the gp_base abstraction class