impl map & direct map