almost finish this is stage 2 out of 3 :)