modify function signiture