add ability to stop with ctrl+c