adding changes from here
resolving conflicts
added location features