reading the input