added location methods and extended contact class