minor optimization, use local variables cache to avoid table lookup in hot functions