communicate -> communicateinput