added range macro