added ctrl+c catch