no need call exit explicitly, just return