add reify macro and util