Fix one aggregate push down case and add support for edge cases; There are still some edges cases that needs to be resolved