Location enhancements

Closes #52, #51, #43.