added a new class Terrain