real version of abstract maze-solving class