add val function