Refactoring and added Area manager