detailed macro