adding generic controller and service