user interaction service extracted