Added api to support user interaction; added experimental webcam code