updated some basic functions