add some basic functions