looks like it wait for user input