adding some basic functions