add Terrain interface