it took me 2 hours to do this