ex4 finished but with a workaround =(