added basic structure and initial part