added perfect maze generator