introduce a public controller