optionally use identity map