implementing user interruption