added func.h