It's better return 1 if error