An implementation of sokoban, the game