added ModelPool inheritance