Adding code files from part 1