initial commit

tasks 1, 2, 3, 5, 6