change validator signature to have key and data as 2nd and 3rd argument
build