this seems like a lot of moving parts for 2M rows ....