add validator (test to be completed) and event (work in progress)