cols work as i want it to
gitignore
rows work mostly how i want to (todo: don't block if already impossible to continue chain)