Finshed assignment

final version