added a lot of new things