minor reduce callstack