#2 lazy map based instantiation

Provides implementation for #2