changed print_error() to sys.exit to reduce coupling