lazy allocation of call stack