adding some functions