adds a lot of different things