updated to use __name__ == "__main__" to run