SOFT236 assignment part 1