Refactor Map to return new instances