finished ex4 I think