unified Input