added Location interface