add to clean target
check
allow graceful exit