update basic functions