4. and 7. I originally forgot to implement nr 4 so I did 4 and 7 together now