Moved Terrain to own file
Added untested extend method to Terrain