will need some way to interact with the user...