tweeking and refactor + new map