only supports portrait except map view controller