declarations and input work