Avoid passing lastLocation to data source, plus some tidying up.