added user interaction helper