Added abstract public controller class