refactor OnClickListener interface with an  implicit