inputstate stuff