refactorize project structure and add ESRI resource