setup essential project structure