Moved to storing regions by pointer so no bad destroys/copies
Added basic trees