better push-down. still buggy.