modified locationService and impl