added return 0 to avoid gcc warnings