Area generator rework
Area generator refactor