tons of work on runtime validation