several enhancements on mapping declaration