put a lot of comments in to explain what each site needs to do