map courtesy Princeton Cycling