add feature for support objects, functions and add general validators