add singleton macro support