Make clone work better, and instantiate a new location when needed rather than update