made macro for typedefs
made macro for objy tpye definitions