Again, added some needed functions