first crack at user interaction