add object macro support