add a useful macro