provided a macro to simplify inheritance