first pass at pivot macro