Location determination

- re-worked how location is determined, removing responsibility from
the transformer and placing it into the model