map abstraction