added some basic functions