basic functions fix