current can be inferred from stack
use shuffle to get random element from walls instead of a random index