this is a lot of things