add 'exit' function