added some more features and stuff