modified publich function of abstractc controller