add new features for terrain generation
Merge branch 'working'