started implementing down_pass