Assignement 1. completed