it waits for input