refactored biz logic to the models & removed duplicate location data