refactor the signature of processor