updated function header