added auxiliary functions section