Finally fixed matching and falling, although still need to recursively match when things come to rest