updated functional header