setup project structure and basic viewer