better error
new data, change location helper to accommodate