refactoring
refactoring, tidying code and conditions which user cannot access areas based on game status
further design refactoring
bug fix