updated maze generation