Multiple locations

Everything from #811 still applies.

#827 fixes a failing test that's in the merge branch at the moment and should probably come first.