add new location function