board can be arbitrary size, only left and up works